< prev index next >

src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp

Print this page
rev 50081 : Several small aarch64 fixes

*** 1115,1125 **** __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, unimplemented_entry), r0); __ should_not_reach_here(); break; } ! if (bs->kind() == BarrierSet::Shenandoah && !ShenandoahSATBBarrier) { break; } const Register pre_val = r0; const Register thread = rthread; --- 1115,1125 ---- __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, unimplemented_entry), r0); __ should_not_reach_here(); break; } ! if (bs->kind() == BarrierSet::Shenandoah && !(ShenandoahSATBBarrier || ShenandoahStoreValEnqueueBarrier)) { break; } const Register pre_val = r0; const Register thread = rthread;
*** 1136,1146 **** Label runtime; if (UseShenandoahGC) { Address gc_state(thread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); __ ldrb(tmp, gc_state); ! __ tbz(tmp, ShenandoahHeap::MARKING_BITPOS, done); } else { assert(UseG1GC, "Should be"); // Is marking still active? if (in_bytes(SATBMarkQueue::byte_width_of_active()) == 4) { __ ldrw(tmp, in_progress); --- 1136,1148 ---- Label runtime; if (UseShenandoahGC) { Address gc_state(thread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); __ ldrb(tmp, gc_state); ! __ mov(rscratch2, ShenandoahHeap::MARKING | ShenandoahHeap::TRAVERSAL); ! __ tst(tmp, rscratch2); ! __ br(Assembler::EQ, done); } else { assert(UseG1GC, "Should be"); // Is marking still active? if (in_bytes(SATBMarkQueue::byte_width_of_active()) == 4) { __ ldrw(tmp, in_progress);
< prev index next >