diff options
author | Mathieu Chartier <mathieuc@google.com> | 2016-09-02 17:11:57 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2016-09-07 10:13:48 -0700 |
commit | 31b12e32073f458950e96d0d1b44e48508cf67e4 (patch) | |
tree | b6f818dfa6b45342d6b69283c10e1db9817b8b0e /compiler/optimizing/code_generator_arm.h | |
parent | 038cb84f792501ae01561fe5ea4e8144f1918b7e (diff) |
Avoid read barrier for image HLoadClass
Concurrent copying baker:
X86_64 core-optimizing-pic.oat: 28583112 -> 27906824 (2.4% smaller)
Around 0.4% of 2.4% is from re-enabling kBootImageLinkTimeAddress,
kBootImageLinkTimePcRelative, and kBootImageAddress.
N6P boot.oat 32: 73042140 -> 71891956 (1.57% smaller)
N6P boot.oat 64: 83831608 -> 82531456 (1.55% smaller)
EAAC: 1252 -> 1245 (32 samples)
Bug: 29516974
Test: test-art-host CC baker, N6P booting
Change-Id: I9a196cf0157058836981c43c93872e9f0c4919aa
Diffstat (limited to 'compiler/optimizing/code_generator_arm.h')
-rw-r--r-- | compiler/optimizing/code_generator_arm.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/optimizing/code_generator_arm.h b/compiler/optimizing/code_generator_arm.h index ac10e2364a..ce9d7e6056 100644 --- a/compiler/optimizing/code_generator_arm.h +++ b/compiler/optimizing/code_generator_arm.h @@ -271,11 +271,12 @@ class InstructionCodeGeneratorARM : public InstructionCodeGenerator { // // root <- *(obj + offset) // - // while honoring read barriers (if any). + // while honoring read barriers if requires_read_barrier is true. void GenerateGcRootFieldLoad(HInstruction* instruction, Location root, Register obj, - uint32_t offset); + uint32_t offset, + bool requires_read_barrier = kEmitCompilerReadBarrier); void GenerateTestAndBranch(HInstruction* instruction, size_t condition_input_index, Label* true_target, |