< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.cpp

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

*** 5369,5385 **** void MacroAssembler::shenandoah_write_barrier(Register dst) { Unimplemented(); } #else void MacroAssembler::shenandoah_write_barrier(Register dst) { ! assert(UseShenandoahGC && (ShenandoahWriteBarrier || ShenandoahStoreValWriteBarrier || ShenandoahStoreValEnqueueBarrier), "Should be enabled"); Label done; // Check for evacuation-in-progress Address gc_state(r15_thread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); ! testb(gc_state, ShenandoahHeap::EVACUATION | ShenandoahHeap::PARTIAL | ShenandoahHeap::TRAVERSAL); // The read-barrier. if (ShenandoahWriteBarrierRB) { movptr(dst, Address(dst, BrooksPointer::byte_offset())); } --- 5369,5385 ---- void MacroAssembler::shenandoah_write_barrier(Register dst) { Unimplemented(); } #else void MacroAssembler::shenandoah_write_barrier(Register dst) { ! assert(UseShenandoahGC && (ShenandoahWriteBarrier || ShenandoahStoreValEnqueueBarrier), "Should be enabled"); Label done; // Check for evacuation-in-progress Address gc_state(r15_thread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); ! testb(gc_state, ShenandoahHeap::EVACUATION | ShenandoahHeap::TRAVERSAL); // The read-barrier. if (ShenandoahWriteBarrierRB) { movptr(dst, Address(dst, BrooksPointer::byte_offset())); }
< prev index next >