diff options
author | Alex Light <allight@google.com> | 2020-11-12 17:05:28 +0000 |
---|---|---|
committer | Treehugger Robot <treehugger-gerrit@google.com> | 2020-11-13 10:07:21 +0000 |
commit | b6837f0350ff66c13582b0e94178dd5ca283ff0a (patch) | |
tree | f79fff81352545efe967850e3d17e32255dcfecd /compiler/optimizing/optimizing_unit_test.h | |
parent | 32c2eb81320f24b5bab24754204b8be95faa08b0 (diff) |
Revert^2 "Partial LSE analysis & store removal"
A ScopedArenaAllocator in a single test was accidentally loaded using
operator new which is not supported. This caused a memory leak.
This reverts commit fe270426c8a2a69a8f669339e83b86fbf40e25a1.
This unreverts commit bb6cda60e4418c0ab557ea4090e046bed8206763.
Bug: 67037140
Reason for revert: Fixed memory leak in
LoadStoreAnalysisTest.PartialEscape test case
Test: SANITIZE_HOST=address ASAN_OPTIONS=detect_leaks=0 m test-art-host-gtest-dependencies
Run art_compiler_tests
Change-Id: I34fa2079df946ae54b8c91fa771a44d56438a719
Diffstat (limited to 'compiler/optimizing/optimizing_unit_test.h')
-rw-r--r-- | compiler/optimizing/optimizing_unit_test.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/optimizing/optimizing_unit_test.h b/compiler/optimizing/optimizing_unit_test.h index 792c9db1af..71acdacdb4 100644 --- a/compiler/optimizing/optimizing_unit_test.h +++ b/compiler/optimizing/optimizing_unit_test.h @@ -317,21 +317,23 @@ class AdjacencyListGraph { HBasicBlock* dest_blk = name_to_block_.GetOrCreate(dest, create_block); src_blk->AddSuccessor(dest_blk); } + graph_->ClearReachabilityInformation(); graph_->ComputeDominanceInformation(); + graph_->ComputeReachabilityInformation(); for (auto [name, blk] : name_to_block_) { block_to_name_.Put(blk, name); } } - bool HasBlock(const HBasicBlock* blk) { + bool HasBlock(const HBasicBlock* blk) const { return block_to_name_.find(blk) != block_to_name_.end(); } - std::string_view GetName(const HBasicBlock* blk) { + std::string_view GetName(const HBasicBlock* blk) const { return block_to_name_.Get(blk); } - HBasicBlock* Get(const std::string_view& sv) { + HBasicBlock* Get(const std::string_view& sv) const { return name_to_block_.Get(sv); } |