diff options
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 23 | ||||
-rw-r--r-- | runtime/base/arena_allocator.cc | 20 | ||||
-rw-r--r-- | runtime/base/arena_allocator.h | 20 |
3 files changed, 16 insertions, 47 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 4d2469ca15..f1c5581c5b 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -84,6 +84,8 @@ namespace art { +static constexpr size_t kArenaAllocatorMemoryReportThreshold = 8 * MB; + /** * Used by the code generator, to allocate the code in a vector. */ @@ -761,13 +763,6 @@ CodeGenerator* OptimizingCompiler::TryCompile(ArenaAllocator* arena, pass_observer.DumpDisassembly(); } - if (kArenaAllocatorCountAllocations) { - if (arena->BytesAllocated() > 4 * MB) { - MemStats mem_stats(arena->GetMemStats()); - LOG(INFO) << PrettyMethod(method_idx, dex_file) << " " << Dumpable<MemStats>(mem_stats); - } - } - return codegen.release(); } @@ -812,6 +807,13 @@ CompiledMethod* OptimizingCompiler::Compile(const DexFile::CodeItem* code_item, if (codegen.get() != nullptr) { MaybeRecordStat(MethodCompilationStat::kCompiled); method = Emit(&arena, &code_allocator, codegen.get(), compiler_driver, code_item); + + if (kArenaAllocatorCountAllocations) { + if (arena.BytesAllocated() > kArenaAllocatorMemoryReportThreshold) { + MemStats mem_stats(arena.GetMemStats()); + LOG(INFO) << PrettyMethod(method_idx, dex_file) << " " << Dumpable<MemStats>(mem_stats); + } + } } } else { if (compiler_driver->GetCompilerOptions().VerifyAtRuntime()) { @@ -890,6 +892,13 @@ bool OptimizingCompiler::JitCompile(Thread* self, if (codegen.get() == nullptr) { return false; } + + if (kArenaAllocatorCountAllocations) { + if (arena.BytesAllocated() > kArenaAllocatorMemoryReportThreshold) { + MemStats mem_stats(arena.GetMemStats()); + LOG(INFO) << PrettyMethod(method_idx, *dex_file) << " " << Dumpable<MemStats>(mem_stats); + } + } } size_t stack_map_size = codegen->ComputeStackMapsSize(); diff --git a/runtime/base/arena_allocator.cc b/runtime/base/arena_allocator.cc index 753994392e..70ff60f3d7 100644 --- a/runtime/base/arena_allocator.cc +++ b/runtime/base/arena_allocator.cc @@ -33,27 +33,9 @@ constexpr size_t Arena::kDefaultSize; template <bool kCount> const char* const ArenaAllocatorStatsImpl<kCount>::kAllocNames[] = { "Misc ", - "BBList ", - "BBPreds ", - "DfsPreOrd ", - "DfsPostOrd ", - "DomPostOrd ", - "TopoOrd ", - "Lowering ", - "LIR ", - "LIR masks ", "SwitchTbl ", - "FillArray ", "SlowPaths ", - "MIR ", - "DataFlow ", - "GrowList ", "GrowBitMap ", - "SSA2Dalvik ", - "Dalvik2SSA ", - "DebugInfo ", - "RegAlloc ", - "Data ", "STL ", "GraphBuilder ", "Graph ", @@ -80,7 +62,6 @@ const char* const ArenaAllocatorStatsImpl<kCount>::kAllocNames[] = { "MoveOperands ", "CodeBuffer ", "StackMaps ", - "BaselineMaps ", "Optimization ", "GVN ", "InductionVar ", @@ -91,7 +72,6 @@ const char* const ArenaAllocatorStatsImpl<kCount>::kAllocNames[] = { "SsaLiveness ", "SsaPhiElim ", "RefTypeProp ", - "PrimTypeProp ", "SideEffects ", "RegAllocator ", "RegAllocVldt ", diff --git a/runtime/base/arena_allocator.h b/runtime/base/arena_allocator.h index f8f7396ed5..697f7e0c30 100644 --- a/runtime/base/arena_allocator.h +++ b/runtime/base/arena_allocator.h @@ -44,27 +44,9 @@ static constexpr bool kArenaAllocatorCountAllocations = false; // Type of allocation for memory tuning. enum ArenaAllocKind { kArenaAllocMisc, - kArenaAllocBBList, - kArenaAllocBBPredecessors, - kArenaAllocDfsPreOrder, - kArenaAllocDfsPostOrder, - kArenaAllocDomPostOrder, - kArenaAllocTopologicalSortOrder, - kArenaAllocLoweringInfo, - kArenaAllocLIR, - kArenaAllocLIRResourceMask, kArenaAllocSwitchTable, - kArenaAllocFillArrayData, kArenaAllocSlowPaths, - kArenaAllocMIR, - kArenaAllocDFInfo, - kArenaAllocGrowableArray, kArenaAllocGrowableBitMap, - kArenaAllocSSAToDalvikMap, - kArenaAllocDalvikToSSAMap, - kArenaAllocDebugInfo, - kArenaAllocRegAlloc, - kArenaAllocData, kArenaAllocSTL, kArenaAllocGraphBuilder, kArenaAllocGraph, @@ -91,7 +73,6 @@ enum ArenaAllocKind { kArenaAllocMoveOperands, kArenaAllocCodeBuffer, kArenaAllocStackMaps, - kArenaAllocBaselineMaps, kArenaAllocOptimization, kArenaAllocGvn, kArenaAllocInductionVarAnalysis, @@ -102,7 +83,6 @@ enum ArenaAllocKind { kArenaAllocSsaLiveness, kArenaAllocSsaPhiElimination, kArenaAllocReferenceTypePropagation, - kArenaAllocPrimitiveTypePropagation, kArenaAllocSideEffectsAnalysis, kArenaAllocRegisterAllocator, kArenaAllocRegisterAllocatorValidate, |