diff options
| author | 2015-06-09 10:34:25 +0100 | |
|---|---|---|
| committer | 2015-06-09 16:01:49 +0100 | |
| commit | 69aa60163989c33a008115205d39732a76ecc1dc (patch) | |
| tree | 058392dc104a8e7b3594a548239dca2d3ec06cce /compiler/optimizing/builder.cc | |
| parent | aa77f6e5839b2ad3bf8ca2c06a44ec92e2667af1 (diff) | |
Revert "Revert "Pass current method to HNewInstance and HNewArray.""
Problem exposed by this change was fixed in:
https://android-review.googlesource.com/#/c/154031/
This reverts commit 7b0e353b49ac3f464c662f20e20e240f0231afff.
Change-Id: I680c13dc9db9ba223ab11c7af255222860b4e6d2
Diffstat (limited to 'compiler/optimizing/builder.cc')
| -rw-r--r-- | compiler/optimizing/builder.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc index dbda63bae4..cbd042901d 100644 --- a/compiler/optimizing/builder.cc +++ b/compiler/optimizing/builder.cc @@ -1050,6 +1050,7 @@ void HGraphBuilder::BuildFilledNewArray(uint32_t dex_pc, ? kQuickAllocArrayWithAccessCheck : kQuickAllocArray; HInstruction* object = new (arena_) HNewArray(length, + graph_->GetCurrentMethod(), dex_pc, type_index, *dex_compilation_unit_->GetDexFile(), @@ -2008,7 +2009,11 @@ bool HGraphBuilder::AnalyzeDexInstruction(const Instruction& instruction, uint32 : kQuickAllocObject; current_block_->AddInstruction(new (arena_) HNewInstance( - dex_pc, type_index, *dex_compilation_unit_->GetDexFile(), entrypoint)); + graph_->GetCurrentMethod(), + dex_pc, + type_index, + *dex_compilation_unit_->GetDexFile(), + entrypoint)); UpdateLocal(instruction.VRegA(), current_block_->GetLastInstruction()); } break; @@ -2020,8 +2025,12 @@ bool HGraphBuilder::AnalyzeDexInstruction(const Instruction& instruction, uint32 QuickEntrypointEnum entrypoint = NeedsAccessCheck(type_index) ? kQuickAllocArrayWithAccessCheck : kQuickAllocArray; - current_block_->AddInstruction(new (arena_) HNewArray( - length, dex_pc, type_index, *dex_compilation_unit_->GetDexFile(), entrypoint)); + current_block_->AddInstruction(new (arena_) HNewArray(length, + graph_->GetCurrentMethod(), + dex_pc, + type_index, + *dex_compilation_unit_->GetDexFile(), + entrypoint)); UpdateLocal(instruction.VRegA_22c(), current_block_->GetLastInstruction()); break; } |