src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp
changeset 58737 a39cdab8fac1
parent 58725 190ec5fae2af
child 58819 ef8be51fff48
equal deleted inserted replaced
58735:24d411cb3a90 58737:a39cdab8fac1
    56 
    56 
    57       // Is marking active?
    57       // Is marking active?
    58       Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset()));
    58       Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset()));
    59       __ ldrb(rscratch1, gc_state);
    59       __ ldrb(rscratch1, gc_state);
    60       if (dest_uninitialized) {
    60       if (dest_uninitialized) {
    61         __ tbz(rscratch2, ShenandoahHeap::HAS_FORWARDED_BITPOS, done);
    61         __ tbz(rscratch1, ShenandoahHeap::HAS_FORWARDED_BITPOS, done);
    62       } else {
    62       } else {
    63         __ mov(rscratch2, ShenandoahHeap::HAS_FORWARDED | ShenandoahHeap::MARKING);
    63         __ mov(rscratch2, ShenandoahHeap::HAS_FORWARDED | ShenandoahHeap::MARKING);
    64         __ tst(rscratch1, rscratch2);
    64         __ tst(rscratch1, rscratch2);
    65         __ br(Assembler::EQ, done);
    65         __ br(Assembler::EQ, done);
    66       }
    66       }