diff options
author | Vladimir Marko <vmarko@google.com> | 2017-10-10 13:21:15 +0100 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2017-10-12 10:43:29 +0100 |
commit | 009d166842195711eca4d5768c59a8f7404e6875 (patch) | |
tree | 297cbed4084e905767bd979d54697693fd0c7262 /compiler/optimizing/load_store_analysis.h | |
parent | 52d52f5dc3e005829926e68c656fb27e8b008ae9 (diff) |
Use ScopedArenaAllocator in BCE, DCE, LSE, ...
... ReferenceTypePropagation and GraphChecker.
Define and use a new allocation kind for LoadStoreAnalysis.
Memory needed to compile the two most expensive methods for
aosp_angler-userdebug boot image:
BatteryStats.dumpCheckinLocked() : 19.7MiB -> 19.6MiB (-79KiB)
BatteryStats.dumpLocked(): 39.4MiB -> 39.3MiB (-120KiB)
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 64312607
Change-Id: Ib0cf074ac21ab67d8f8f2efabbdfb84cce9cae8e
Diffstat (limited to 'compiler/optimizing/load_store_analysis.h')
-rw-r--r-- | compiler/optimizing/load_store_analysis.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/optimizing/load_store_analysis.h b/compiler/optimizing/load_store_analysis.h index 6a25da3cfd..5940ee755f 100644 --- a/compiler/optimizing/load_store_analysis.h +++ b/compiler/optimizing/load_store_analysis.h @@ -25,7 +25,7 @@ namespace art { // A ReferenceInfo contains additional info about a reference such as // whether it's a singleton, returned, etc. -class ReferenceInfo : public ArenaObject<kArenaAllocMisc> { +class ReferenceInfo : public ArenaObject<kArenaAllocLSA> { public: ReferenceInfo(HInstruction* reference, size_t pos) : reference_(reference), @@ -99,7 +99,7 @@ class ReferenceInfo : public ArenaObject<kArenaAllocMisc> { // A heap location is a reference-offset/index pair that a value can be loaded from // or stored to. -class HeapLocation : public ArenaObject<kArenaAllocMisc> { +class HeapLocation : public ArenaObject<kArenaAllocLSA> { public: static constexpr size_t kInvalidFieldOffset = -1; @@ -172,12 +172,12 @@ class HeapLocationCollector : public HGraphVisitor { explicit HeapLocationCollector(HGraph* graph) : HGraphVisitor(graph), - ref_info_array_(graph->GetAllocator()->Adapter(kArenaAllocLSE)), - heap_locations_(graph->GetAllocator()->Adapter(kArenaAllocLSE)), + ref_info_array_(graph->GetAllocator()->Adapter(kArenaAllocLSA)), + heap_locations_(graph->GetAllocator()->Adapter(kArenaAllocLSA)), aliasing_matrix_(graph->GetAllocator(), kInitialAliasingMatrixBitVectorSize, true, - kArenaAllocLSE), + kArenaAllocLSA), has_heap_stores_(false), has_volatile_(false), has_monitor_operations_(false) {} |