summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/optimizing/optimizing_compiler.cc23
-rw-r--r--runtime/base/arena_allocator.cc20
-rw-r--r--runtime/base/arena_allocator.h20
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,