< prev index next >

src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp

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

@@ -86,18 +86,10 @@
                                                                  Register pre_val,
                                                                  Register thread,
                                                                  Register tmp,
                                                                  bool tosca_live,
                                                                  bool expand_call) {
-  if (ShenandoahConditionalSATBBarrier) {
-    Label done;
-    Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset()));
-    __ ldrb(tmp, gc_state);
-    __ tbz(tmp, ShenandoahHeap::MARKING_BITPOS, done);
-    satb_write_barrier_pre(masm, obj, pre_val, thread, tmp, tosca_live, expand_call);
-    __ bind(done);
-  }
   if (ShenandoahSATBBarrier) {
     satb_write_barrier_pre(masm, obj, pre_val, thread, tmp, tosca_live, expand_call);
   }
 }
 

@@ -262,11 +254,11 @@
     write_barrier_impl(masm, dst);
   }
 }
 
 void ShenandoahBarrierSetAssembler::write_barrier_impl(MacroAssembler* masm, Register dst) {
-  assert(UseShenandoahGC && (ShenandoahWriteBarrier || ShenandoahStoreValWriteBarrier || ShenandoahStoreValEnqueueBarrier), "should be enabled");
+  assert(UseShenandoahGC && (ShenandoahWriteBarrier || ShenandoahStoreValEnqueueBarrier), "should be enabled");
   assert(dst != rscratch1, "different regs");
   assert(dst != rscratch2, "Need rscratch2");
 
   Label done;
 

@@ -275,11 +267,11 @@
   __ membar(Assembler::LoadLoad);
 
   // Now check if evacuation is in progress.
   read_barrier_not_null(masm, dst);
 
-  __ mov(rscratch2, ShenandoahHeap::EVACUATION | ShenandoahHeap::PARTIAL | ShenandoahHeap::TRAVERSAL);
+  __ mov(rscratch2, ShenandoahHeap::EVACUATION | ShenandoahHeap::TRAVERSAL);
   __ tst(rscratch1, rscratch2);
   __ br(Assembler::EQ, done);
 
   __ lsr(rscratch1, dst, ShenandoahHeapRegion::region_size_bytes_shift_jint());
   __ mov(rscratch2,  ShenandoahHeap::in_cset_fast_test_addr());

@@ -304,17 +296,15 @@
 
   __ bind(done);
 }
 
 void ShenandoahBarrierSetAssembler::storeval_barrier(MacroAssembler* masm, Register dst, Register tmp) {
-  if (ShenandoahStoreValWriteBarrier || ShenandoahStoreValEnqueueBarrier) {
+  if (ShenandoahStoreValEnqueueBarrier) {
     Label is_null;
     __ cbz(dst, is_null);
     write_barrier_impl(masm, dst);
     __ bind(is_null);
-  }
-  if (ShenandoahStoreValEnqueueBarrier) {
     // Save possibly live regs.
     RegSet live_regs = RegSet::range(r0, r4) - dst;
     __ push(live_regs, sp);
     __ strd(v0, __ pre(sp, 2 * -wordSize));
 
< prev index next >