summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/dex/ssa_transformation.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/dex/ssa_transformation.cc b/compiler/dex/ssa_transformation.cc
index dab98d93c1..5f89c214f2 100644
--- a/compiler/dex/ssa_transformation.cc
+++ b/compiler/dex/ssa_transformation.cc
@@ -621,8 +621,9 @@ void MIRGraph::DoDFSPreOrderSSARename(BasicBlock* block) {
int map_size = sizeof(int) * cu_->num_dalvik_registers;
/* Save SSA map snapshot */
+ ScopedArenaAllocator allocator(&cu_->arena_stack);
int* saved_ssa_map =
- static_cast<int*>(arena_->Alloc(map_size, kArenaAllocDalvikToSSAMap));
+ static_cast<int*>(allocator.Alloc(map_size, kArenaAllocDalvikToSSAMap));
memcpy(saved_ssa_map, vreg_to_ssa_map_, map_size);
if (block->fall_through != NullBasicBlockId) {
@@ -648,7 +649,6 @@ void MIRGraph::DoDFSPreOrderSSARename(BasicBlock* block) {
memcpy(vreg_to_ssa_map_, saved_ssa_map, map_size);
}
}
- vreg_to_ssa_map_ = saved_ssa_map;
return;
}