summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2017-05-24 09:27:59 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-05-24 09:28:01 +0000
commita4bf3c33e501758fa8e707ef30f9ee67ea20511e (patch)
tree34158a7a2273f3a15d9d4a92d9dac4e5249c5ae6
parent3b101e4bf11c5fa2d0f3d57d2fadccdc1dcdff93 (diff)
parent798ba16bda747d74a27b7a748d3bb5deb2ccbf68 (diff)
Merge "Use DeletableArenaObject for DexFileData"
-rw-r--r--runtime/jit/profile_compilation_info.cc3
-rw-r--r--runtime/jit/profile_compilation_info.h2
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,