Home | History | Annotate | Download | only in profile

Lines Matching refs:dex_data

398     const DexFileData& dex_data = *dex_data_ptr;
399 uint32_t methods_region_size = GetMethodsRegionSize(dex_data);
401 dex_data.profile_key.size() +
402 sizeof(uint16_t) * dex_data.class_set.size() +
404 dex_data.bitmap_storage.size();
407 sizeof(uint16_t) * dex_data.class_set.size() +
437 const DexFileData& dex_data = *dex_data_ptr;
439 if (dex_data.profile_key.size() >= kMaxDexFileKeyLength) {
444 uint32_t methods_region_size = GetMethodsRegionSize(dex_data);
446 DCHECK_LE(dex_data.profile_key.size(), std::numeric_limits<uint16_t>::max());
447 DCHECK_LE(dex_data.class_set.size(), std::numeric_limits<uint16_t>::max());
449 AddUintToBuffer(&buffer, static_cast<uint16_t>(dex_data.profile_key.size()));
450 AddUintToBuffer(&buffer, static_cast<uint16_t>(dex_data.class_set.size()));
452 AddUintToBuffer(&buffer, dex_data.checksum); // uint32_t
453 AddUintToBuffer(&buffer, dex_data.num_method_ids); // uint32_t
455 AddStringToBuffer(&buffer, dex_data.profile_key);
459 const DexFileData& dex_data = *dex_data_ptr;
465 for (const auto& method_it : dex_data.method_map) {
476 for (const auto& class_id : dex_data.class_set) {
486 dex_data.bitmap_storage.begin(),
487 dex_data.bitmap_storage.end());
490 AddUintToBuffer(&buffer, static_cast<uint16_t>(dex_data.class_set.size()));
491 for (const auto& class_id : dex_data.class_set) {
493 AddUintToBuffer(&buffer, dex_data.class_counters[type_idx]);
495 AddUintToBuffer(&buffer, dex_data.GetNumMethodCounters());
496 for (uint16_t method_idx = 0; method_idx < dex_data.num_method_ids; method_idx++) {
497 if (dex_data.GetHotnessInfo(method_idx).IsInProfile()) {
498 AddUintToBuffer(&buffer, dex_data.method_counters[method_idx]);
592 uint32_t ProfileCompilationInfo::GetMethodsRegionSize(const DexFileData& dex_data) {
594 uint32_t size = 2 * sizeof(uint16_t) * dex_data.method_map.size();
595 for (const auto& method_it : dex_data.method_map) {
1138 DexFileData& dex_data,
1142 (dex_data.class_set.size() + dex_data.method_map.size() + 2);
1150 if (num_class_counters != dex_data.class_set.size()) {
1154 for (const auto& class_it : dex_data.class_set) {
1155 READ_UINT(uint16_t, buffer, dex_data.class_counters[class_it.index_], error);
1160 if (num_method_counters != dex_data.GetNumMethodCounters()) {
1164 for (uint16_t method_idx = 0; method_idx < dex_data.num_method_ids; method_idx++) {
1165 if (dex_data.GetHotnessInfo(method_idx).IsInProfile()) {
1166 READ_UINT(uint16_t, buffer, dex_data.method_counters[method_idx], error);
1194 for (const DexFileData* dex_data : info_) {
1195 const auto it = key_to_dex_file.find(dex_data->profile_key);
1202 if (!ChecksumMatch(dex_data->checksum, dex_file->GetLocationChecksum())) {
1206 << dex_data->checksum;
1210 if (dex_data->num_method_ids != dex_file->NumMethodIds()) {
1214 << dex_data->num_method_ids;
1219 for (const auto& method_it : dex_data->method_map) {
1269 for (const auto& class_id : dex_data->class_set) {
1515 const DexFileData* dex_data = FindDexData(other_profile_line_header.dex_location,
1518 if ((dex_data != nullptr) && (dex_data->checksum != other_profile_line_header.checksum)) {
1529 const DexFileData* dex_data = GetOrAddDexFileData(profile_line_headers[i].dex_location,
1532 if (dex_data == nullptr) {
1535 dex_profile_index_remap->Put(i, dex_data->profile_index);
1603 const DexFileData* dex_data = FindDexData(other_dex_data->profile_key,
1606 if ((dex_data != nullptr) && (dex_data->checksum != other_dex_data->checksum)) {
1625 const DexFileData* dex_data = GetOrAddDexFileData(other_dex_data->profile_key,
1628 if (dex_data == nullptr) {
1631 dex_profile_index_remap.Put(other_dex_data->profile_index, dex_data->profile_index);
1636 DexFileData* dex_data = const_cast<DexFileData*>(FindDexData(other_dex_data->profile_key,
1638 DCHECK(dex_data != nullptr);
1648 : (dex_data->ContainsClass(type_idx) ? 1 : 0);
1650 dex_data->class_counters[type_idx.index_] =
1651 IncrementAggregationCounter(dex_data->class_counters[type_idx.index_], amount);
1660 : (dex_data->GetHotnessInfo(method_idx).IsInProfile() ? 1 : 0);
1661 dex_data->method_counters[method_idx] =
1662 IncrementAggregationCounter(dex_data->method_counters[method_idx], amount);
1669 dex_data->class_set.insert(other_dex_data->class_set.begin(),
1676 InlineCacheMap* inline_cache = dex_data->FindOrAddMethod(other_method_index);
1699 dex_data->MergeBitmap(*other_dex_data);
1719 const DexFileData* dex_data = FindDexData(method_ref.dex_file);
1720 return dex_data != nullptr
1721 ? dex_data->GetHotnessInfo(method_ref.index)
1727 DexFileData* dex_data = GetOrAddDexFileData(method_ref.dex_file);
1728 if (dex_data != nullptr) {
1730 return dex_data->AddMethod(
1740 const DexFileData* dex_data = FindDexData(GetProfileDexFileKey(dex_location), dex_checksum);
1741 return dex_data != nullptr ? dex_data->GetHotnessInfo(dex_method_index) : MethodHotness();
1758 for (const DexFileData* dex_data : info_) {
1759 pmi->dex_references[dex_data->profile_index].dex_location = dex_data->profile_key;
1760 pmi->dex_references[dex_data->profile_index].dex_checksum = dex_data->checksum;
1761 pmi->dex_references[dex_data->profile_index].num_method_ids = dex_data->num_method_ids;
1769 const DexFileData* dex_data = FindDexData(&dex_file);
1770 return (dex_data != nullptr) && dex_data->ContainsClass(type_idx);
1775 for (const DexFileData* dex_data : info_) {
1776 total += dex_data->method_map.size();
1783 for (const DexFileData* dex_data : info_) {
1784 total += dex_data->class_set.size();
1800 for (const DexFileData* dex_data : info_) {
1803 os << dex_data->profile_key;
1806 std::string multidex_suffix = DexFileLoader::GetMultiDexSuffix(dex_data->profile_key);
1809 os << " [index=" << static_cast<uint32_t>(dex_data->profile_index) << "]";
1810 os << " [checksum=" << std::hex << dex_data->checksum << "]" << std::dec;
1813 if (dex_data->profile_key == current->GetLocation() &&
1814 dex_data->checksum == current->GetLocationChecksum()) {
1819 for (const auto& method_it : dex_data->method_map) {
1846 for (uint32_t method_idx = 0; method_idx < dex_data->num_method_ids; ++method_idx) {
1847 MethodHotness hotness_info(dex_data->GetHotnessInfo(method_idx));
1862 for (const auto class_it : dex_data->class_set) {
1880 const DexFileData* dex_data = FindDexData(&dex_file);
1881 if (dex_data == nullptr) {
1884 for (const auto& it : dex_data->method_map) {
1887 for (uint32_t method_idx = 0; method_idx < dex_data->num_method_ids; ++method_idx) {
1888 MethodHotness hotness = dex_data->GetHotnessInfo(method_idx);
1896 for (const dex::TypeIndex& type_index : dex_data->class_set) {
1912 const DexFileData& dex_data = *info_[i];
1914 if (!(dex_data == other_dex_data)) {
1931 for (const DexFileData* dex_data : info_) {
1932 const auto it = key_to_dex_file.find(dex_data->profile_key);
1936 if (dex_data->checksum != it->second->GetLocationChecksum()) {
1939 << ", profile checksum=" << dex_data->checksum;
1944 dex_data->checksum,
1945 dex_data->num_method_ids);
1946 classes.AddClasses(dex_data->class_set.begin(), dex_data->class_set.end());
2179 const DexFileData* dex_data = FindDexData(method_ref.dex_file);
2180 return dex_data == nullptr ? -1 : dex_data->GetMethodAggregationCounter(method_ref.index);
2185 const DexFileData* dex_data = FindDexData(type_ref.dex_file);
2186 return dex_data == nullptr ? -1 : dex_data->GetClassAggregationCounter(type_ref.index);
2255 for (DexFileData* dex_data : info_) {
2256 if (dex_data->checksum == dex_file->GetLocationChecksum()
2257 && dex_data->num_method_ids == dex_file->NumMethodIds()) {
2259 if (dex_data->profile_key != new_profile_key) {
2266 profile_key_map_.erase(dex_data->profile_key);
2267 profile_key_map_.Put(new_profile_key, dex_data->profile_index);
2268 dex_data->profile_key = new_profile_key;
2296 for (DexFileData* dex_data : info_) {
2297 dex_data->PrepareForAggregationCounters();