summaryrefslogtreecommitdiff
path: root/compiler/optimizing/builder.cc
diff options
context:
space:
mode:
author Mathieu Chartier <mathieuc@google.com> 2015-09-02 14:54:11 -0700
committer Mathieu Chartier <mathieuc@google.com> 2015-09-03 13:27:19 -0700
commit736b560f2d2c89b63dc895888c671b5519afa4c8 (patch)
treed5aee7ac36f458a5f6e6d75fceb19f8963a71db5 /compiler/optimizing/builder.cc
parentfe3879e6011f629d0dd6b04fab00b9496bd4ea08 (diff)
Reduce how often we call FindDexCache
Before host boot.oat -j4 optimizing compile: real 1m17.792s user 3m26.140s sys 0m8.340s After: real 1m12.324s user 3m22.718s sys 0m8.320s Change-Id: If18e9e79e06cdf1676692e5efacb682bf93889c3
Diffstat (limited to 'compiler/optimizing/builder.cc')
-rw-r--r--compiler/optimizing/builder.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc
index 23ab94e5fe..1650fd1ced 100644
--- a/compiler/optimizing/builder.cc
+++ b/compiler/optimizing/builder.cc
@@ -1205,7 +1205,8 @@ bool HGraphBuilder::BuildInstanceFieldAccess(const Instruction& instruction,
resolved_field->GetOffset(),
resolved_field->IsVolatile(),
field_index,
- *dex_file_));
+ *dex_file_,
+ dex_compilation_unit_->GetDexCache()));
} else {
current_block_->AddInstruction(new (arena_) HInstanceFieldGet(
current_block_->GetLastInstruction(),
@@ -1213,7 +1214,8 @@ bool HGraphBuilder::BuildInstanceFieldAccess(const Instruction& instruction,
resolved_field->GetOffset(),
resolved_field->IsVolatile(),
field_index,
- *dex_file_));
+ *dex_file_,
+ dex_compilation_unit_->GetDexCache()));
UpdateLocal(source_or_dest_reg, current_block_->GetLastInstruction());
}
@@ -1334,14 +1336,16 @@ bool HGraphBuilder::BuildStaticFieldAccess(const Instruction& instruction,
resolved_field->GetOffset(),
resolved_field->IsVolatile(),
field_index,
- *dex_file_));
+ *dex_file_,
+ dex_cache_));
} else {
current_block_->AddInstruction(new (arena_) HStaticFieldGet(cls,
field_type,
resolved_field->GetOffset(),
resolved_field->IsVolatile(),
field_index,
- *dex_file_));
+ *dex_file_,
+ dex_cache_));
UpdateLocal(source_or_dest_reg, current_block_->GetLastInstruction());
}
return true;