Home | History | Annotate | Download | only in qtools

Lines Matching refs:symbols

54                          file_offset(0), flags(0), nsymbols(0), symbols(NULL) {}
59 if (strcmp(symbols[ii].name, name) == 0)
60 return &symbols[ii];
74 dest->symbols = symbols;
86 symbol_type *symbols;
148 // Free the regions. We must be careful not to free the symbols
149 // within each region because the symbols are sometimes shared
152 // region symbols in its destructor. We need to free only the
244 symbol_type *symbols, bool exact_match);
302 // If the symbols are not shared with another region, then delete them.
306 delete[] region->symbols[ii].name;
308 delete[] region->symbols;
318 // Delete the ProcessState objects after the region symbols in
320 // when deleting the region symbols.
326 // This function is used by the qsort() routine to sort symbols
341 // The addresses are the same, sort the symbols into
342 // increasing alphabetical order. But put symbols that
359 // If the symbols have the same number of underscores, then
382 // This routine returns a new array containing all the symbols.
387 // Count the symbols
399 // Copy the symbols
402 memcpy(next_sym, region->symbols, region->nsymbols * sizeof(symbol_type));
477 region->symbols = new symbol_type[nsymbols];
478 memset(region->symbols, 0, nsymbols * sizeof(symbol_type));
486 region->symbols[idx].addr = addr;
487 region->symbols[idx].name = Strdup(name);
488 region->symbols[idx].vm_sym = NULL;
489 region->symbols[idx].region = region;
490 region->symbols[idx].flags = flags;
577 // Adds the symbols from the given ELF file to the given process.
601 region->symbols = new symbol_type[1];
602 memset(region->symbols, 0, sizeof(symbol_type));
604 region->symbols[0].addr = 0;
605 region->symbols[0].name = Strdup("(unknown)");
606 region->symbols[0].vm_sym = NULL;
607 region->symbols[0].region = region;
608 region->symbols[0].flags = 0;
656 // Allocate space for all of the symbols for now. We will
657 // reallocate space for just the function symbols after we
659 // for some extra symbols, including the text section names.
665 // set the IsInterpreter flag for all symbols in that shared library.
701 // symbols to be included. We currently include these symbols
746 // are no symbols with that address already.
752 // Search for a symbol with a matching address. The symbols aren't
770 // of ".plt" symbols.
797 // how many symbols we have.
800 // Copy the symbols to the functions array
809 // Sort the symbols into increasing address order
812 // If there are multiple symbols with the same address, then remove
856 region->symbols = functions;
859 printf("%s num symbols: %d min_addr: 0x%x\n", region->path, nfuncs, min_addr);
1090 TraceReader<T>::FindFunction(uint32_t addr, int nsyms, symbol_type *symbols,
1097 uint32_t middle_addr = symbols[middle].addr;
1099 return &symbols[middle];
1112 return &symbols[low];
1153 cached_func_ = FindFunction(sym_addr, region->nsymbols, region->symbols,
1287 region->symbols = existing_region->symbols;
1296 if (region->nsymbols > 2 && region->symbols[1].addr < event->vstart)
1464 region->symbols, true /* exact match */);
1511 DexSym *dexsyms = dexfile->symbols;
1513 symbol_type *symbols = new symbol_type[nsymbols + 1];
1514 memset(symbols, 0, (nsymbols + 1) * sizeof(symbol_type));
1515 region->symbols = symbols;
1517 symbols[ii].addr = dexsyms[ii].addr;
1518 symbols[ii].name = Strdup(dexsyms[ii].name);
1519 symbols[ii].vm_sym = NULL;
1520 symbols[ii].region = region;
1521 symbols[ii].flags = symbol_type::kIsMethod;
1526 symbol_type *symbol = &symbols[nsymbols];