< prev index next >

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp

Print this page
rev 50076 : Fold Partial GC into Traversal GC

*** 4084,4094 **** str(zr, dst); } #ifdef INCLUDE_ALL_GCS void MacroAssembler::shenandoah_write_barrier(Register dst) { ! assert(UseShenandoahGC && (ShenandoahWriteBarrier || ShenandoahStoreValWriteBarrier || ShenandoahStoreValEnqueueBarrier), "Should be enabled"); assert(dst != rscratch1, "need rscratch1"); assert(dst != rscratch2, "need rscratch2"); Label done; --- 4084,4094 ---- str(zr, dst); } #ifdef INCLUDE_ALL_GCS void MacroAssembler::shenandoah_write_barrier(Register dst) { ! assert(UseShenandoahGC && (ShenandoahWriteBarrier || ShenandoahStoreValEnqueueBarrier), "Should be enabled"); assert(dst != rscratch1, "need rscratch1"); assert(dst != rscratch2, "need rscratch2"); Label done;
*** 4100,4110 **** if (ShenandoahWriteBarrierRB) { ldr(dst, Address(dst, BrooksPointer::byte_offset())); } // Evac-check ... ! mov(rscratch2, ShenandoahHeap::EVACUATION | ShenandoahHeap::PARTIAL | ShenandoahHeap::TRAVERSAL); tst(rscratch1, rscratch2); br(Assembler::EQ, done); RegSet to_save = RegSet::of(r0); if (dst != r0) { --- 4100,4110 ---- if (ShenandoahWriteBarrierRB) { ldr(dst, Address(dst, BrooksPointer::byte_offset())); } // Evac-check ... ! mov(rscratch2, ShenandoahHeap::EVACUATION | ShenandoahHeap::TRAVERSAL); tst(rscratch1, rscratch2); br(Assembler::EQ, done); RegSet to_save = RegSet::of(r0); if (dst != r0) {
< prev index next >