summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_simplifier_shared.cc
diff options
context:
space:
mode:
author Artem Serov <artem.serov@linaro.org> 2018-10-11 20:14:20 +0100
committer Artem Serov <artem.serov@linaro.org> 2018-10-25 18:33:55 +0100
commit0806f589a8a8e1fca573069b37761c320660aa63 (patch)
tree51a26fc5e59cca70a3f6875ece57aee39962221f /compiler/optimizing/instruction_simplifier_shared.cc
parent02338775e33b553be51d44ff60bb1ef8e527bd94 (diff)
ARM64: Support interm. address for object arrays.
Support IntermediateAddress on arm64 for object array reads in Baker read barrier configuration. The patch brings minor boot.oat size reduction and performance improvement on Puzzle benchmark. Test: test-art-target, test-art-host, gc_stress. Test: 527-checker-array-access-split. Bug: 26601270 Bug: 32578862 Change-Id: I781a911905038b36428964a990771fdf74e99bbd
Diffstat (limited to 'compiler/optimizing/instruction_simplifier_shared.cc')
-rw-r--r--compiler/optimizing/instruction_simplifier_shared.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/optimizing/instruction_simplifier_shared.cc b/compiler/optimizing/instruction_simplifier_shared.cc
index ccdcb3532d..0f30f662cd 100644
--- a/compiler/optimizing/instruction_simplifier_shared.cc
+++ b/compiler/optimizing/instruction_simplifier_shared.cc
@@ -245,11 +245,11 @@ bool TryExtractArrayAccessAddress(HInstruction* access,
return false;
}
if (kEmitCompilerReadBarrier &&
+ !kUseBakerReadBarrier &&
access->IsArrayGet() &&
access->GetType() == DataType::Type::kReference) {
- // For object arrays, the read barrier instrumentation requires
+ // For object arrays, the non-Baker read barrier instrumentation requires
// the original array pointer.
- // TODO: This can be relaxed for Baker CC.
return false;
}