diff options
| author | 2016-11-03 18:09:18 +0000 | |
|---|---|---|
| committer | 2016-11-03 18:09:18 +0000 | |
| commit | 4bbca2a73e2bd5878fed34daa11d6938f877f370 (patch) | |
| tree | 57902c255732bd977d36796c5ab6afd392f281c4 /compiler/optimizing | |
| parent | ff48ebc610c801652d8c9262d3c0920c29e83096 (diff) | |
Update AArch32 VIXL intrinsics w.r.t. the new art::ReadBarrier API.
Update with respect to changes introduced by commit
12b58b23de974232e991c650405f929f8b0dcc9f.
Test: ART_USE_READ_BARRIER=true make
Change-Id: Iaefd664172ff19cce17cf4d3b2064dba86170c22
Diffstat (limited to 'compiler/optimizing')
| -rw-r--r-- | compiler/optimizing/intrinsics_arm_vixl.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/compiler/optimizing/intrinsics_arm_vixl.cc b/compiler/optimizing/intrinsics_arm_vixl.cc index 2e37a00dec..6ff0ca4eab 100644 --- a/compiler/optimizing/intrinsics_arm_vixl.cc +++ b/compiler/optimizing/intrinsics_arm_vixl.cc @@ -2024,7 +2024,7 @@ void IntrinsicCodeGeneratorARMVIXL::VisitSystemArrayCopy(HInvoke* invoke) { // if (src_ptr != end_ptr) { // uint32_t rb_state = Lockword(src->monitor_).ReadBarrierState(); // lfence; // Load fence or artificial data dependency to prevent load-load reordering - // bool is_gray = (rb_state == ReadBarrier::gray_ptr_); + // bool is_gray = (rb_state == ReadBarrier::GrayState()); // if (is_gray) { // // Slow-path copy. // do { @@ -2065,9 +2065,8 @@ void IntrinsicCodeGeneratorARMVIXL::VisitSystemArrayCopy(HInvoke* invoke) { // Given the numeric representation, it's enough to check the low bit of the // rb_state. We do that by shifting the bit out of the lock word with LSRS // which can be a 16-bit instruction unlike the TST immediate. - static_assert(ReadBarrier::white_ptr_ == 0, "Expecting white to have value 0"); - static_assert(ReadBarrier::gray_ptr_ == 1, "Expecting gray to have value 1"); - static_assert(ReadBarrier::black_ptr_ == 2, "Expecting black to have value 2"); + static_assert(ReadBarrier::WhiteState() == 0, "Expecting white to have value 0"); + static_assert(ReadBarrier::GrayState() == 1, "Expecting gray to have value 1"); __ Lsrs(temp2, temp2, LockWord::kReadBarrierStateShift + 1); // Carry flag is the last bit shifted out by LSRS. __ B(cs, read_barrier_slow_path->GetEntryLabel()); |