diff options
author | 2015-05-20 12:42:25 +0100 | |
---|---|---|
committer | 2015-05-27 18:10:31 +0100 | |
commit | 81d804a51d4fc415e1544a5a09505db049f4eda6 (patch) | |
tree | fcb1fbb3acf1c6328c5e6a8147e5a6f12a907534 /compiler/optimizing/builder.cc | |
parent | c06841dac1443e99e92596f15caa82c99bfee010 (diff) |
Bring Reference Type Propagation to NewArray
Change-Id: Ieff4f38854e06b0ed4b5689ced94a4289053d80d
Diffstat (limited to 'compiler/optimizing/builder.cc')
-rw-r--r-- | compiler/optimizing/builder.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc index 49a0444f94..c4f033df52 100644 --- a/compiler/optimizing/builder.cc +++ b/compiler/optimizing/builder.cc @@ -1027,7 +1027,11 @@ void HGraphBuilder::BuildFilledNewArray(uint32_t dex_pc, QuickEntrypointEnum entrypoint = NeedsAccessCheck(type_index) ? kQuickAllocArrayWithAccessCheck : kQuickAllocArray; - HInstruction* object = new (arena_) HNewArray(length, dex_pc, type_index, entrypoint); + HInstruction* object = new (arena_) HNewArray(length, + dex_pc, + type_index, + *dex_compilation_unit_->GetDexFile(), + entrypoint); current_block_->AddInstruction(object); const char* descriptor = dex_file_->StringByTypeIdx(type_index); @@ -1993,8 +1997,8 @@ 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, entrypoint)); + current_block_->AddInstruction(new (arena_) HNewArray( + length, dex_pc, type_index, *dex_compilation_unit_->GetDexFile(), entrypoint)); UpdateLocal(instruction.VRegA_22c(), current_block_->GetLastInstruction()); break; } |