< prev index next > src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp
Print this page
__ lbu(t0, gc_state);
if (ShenandoahSATBBarrier && dest_uninitialized) {
__ andi(t0, t0, ShenandoahHeap::HAS_FORWARDED);
__ beqz(t0, done);
} else {
- __ andi(t0, t0, ShenandoahHeap::HAS_FORWARDED | ShenandoahHeap::MARKING);
+ __ andi(t0, t0, ShenandoahHeap::HAS_FORWARDED | ShenandoahHeap::YOUNG_MARKING | ShenandoahHeap::OLD_MARKING);
__ beqz(t0, done);
}
__ push_reg(saved_regs, sp);
if (UseCompressedOops) {
Label runtime;
// Is marking still active?
Address gc_state(thread, in_bytes(ShenandoahThreadLocalData::gc_state_offset()));
__ lb(tmp, gc_state);
- __ andi(tmp, tmp, ShenandoahHeap::MARKING);
+ __ andi(tmp, tmp, ShenandoahHeap::YOUNG_MARKING | ShenandoahHeap::OLD_MARKING);
__ beqz(tmp, done);
// Can we store original value in the thread's buffer?
__ ld(tmp, queue_index);
__ beqz(tmp, runtime);
< prev index next >