diff options
author | 2017-05-24 09:27:59 +0000 | |
---|---|---|
committer | 2017-05-24 09:28:01 +0000 | |
commit | a4bf3c33e501758fa8e707ef30f9ee67ea20511e (patch) | |
tree | 34158a7a2273f3a15d9d4a92d9dac4e5249c5ae6 | |
parent | 3b101e4bf11c5fa2d0f3d57d2fadccdc1dcdff93 (diff) | |
parent | 798ba16bda747d74a27b7a748d3bb5deb2ccbf68 (diff) |
Merge "Use DeletableArenaObject for DexFileData"
-rw-r--r-- | runtime/jit/profile_compilation_info.cc | 3 | ||||
-rw-r--r-- | runtime/jit/profile_compilation_info.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/runtime/jit/profile_compilation_info.cc b/runtime/jit/profile_compilation_info.cc index d1ce01b191..9b80ad71e1 100644 --- a/runtime/jit/profile_compilation_info.cc +++ b/runtime/jit/profile_compilation_info.cc @@ -84,6 +84,9 @@ ProfileCompilationInfo::ProfileCompilationInfo() ProfileCompilationInfo::~ProfileCompilationInfo() { VLOG(profiler) << Dumpable<MemStats>(arena_->GetMemStats()); + for (DexFileData* data : info_) { + delete data; + } } void ProfileCompilationInfo::DexPcData::AddClass(uint16_t dex_profile_idx, diff --git a/runtime/jit/profile_compilation_info.h b/runtime/jit/profile_compilation_info.h index 2dd91e7d33..6756352496 100644 --- a/runtime/jit/profile_compilation_info.h +++ b/runtime/jit/profile_compilation_info.h @@ -301,7 +301,7 @@ class ProfileCompilationInfo { // profile) fields in this struct because we can infer them from // profile_key_map_ and info_. However, it makes the profiles logic much // simpler if we have references here as well. - struct DexFileData : public ArenaObject<kArenaAllocProfile> { + struct DexFileData : public DeletableArenaObject<kArenaAllocProfile> { DexFileData(ArenaAllocator* arena, const std::string& key, uint32_t location_checksum, |