OSDN Git Service

x86/x86-64: Avoid temporary for read barrier field load.
authorVladimir Marko <vmarko@google.com>
Fri, 12 Aug 2016 12:37:55 +0000 (13:37 +0100)
committerVladimir Marko <vmarko@google.com>
Tue, 23 Aug 2016 10:41:44 +0000 (11:41 +0100)
commitccf06d8f19a37432de4a3b768747090adfbd18ec
treefcb3ba46184db6882e695cecf1cfe495417593ae
parentcf834d00de838272cf28f2382ffc26fe716aae5c
x86/x86-64: Avoid temporary for read barrier field load.

Add TEST instructions for memory and immediate. Use the byte
version to avoid a temporary in read barrier field load.

Test: Tested with ART_USE_READ_BARRIER=true on host.
Test: Tested with ART_USE_READ_BARRIER=true ART_HEAP_POISONING=true on host.
Bug: 29966877
Bug: 12687968
Change-Id: Ia415d3c2e1ae1ff6dff11d72bbb7d96d5deed6ee
15 files changed:
compiler/optimizing/code_generator_arm.cc
compiler/optimizing/code_generator_arm64.cc
compiler/optimizing/code_generator_x86.cc
compiler/optimizing/code_generator_x86.h
compiler/optimizing/code_generator_x86_64.cc
compiler/optimizing/code_generator_x86_64.h
compiler/optimizing/intrinsics_x86.cc
compiler/optimizing/intrinsics_x86_64.cc
compiler/utils/x86/assembler_x86.cc
compiler/utils/x86/assembler_x86.h
compiler/utils/x86/assembler_x86_test.cc
compiler/utils/x86_64/assembler_x86_64.cc
compiler/utils/x86_64/assembler_x86_64.h
compiler/utils/x86_64/assembler_x86_64_test.cc
test/537-checker-arraycopy/src/Main.java