< prev index next >

src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp

Print this page

        

@@ -71,11 +71,11 @@
   default: Unimplemented();
   }
 }
 
 void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
-                                   Address dst, Register val, Register tmp1, Register tmp2) {
+                                   Address dst, Register val, Register tmp1, Register tmp2, Register tmp3) {
   bool in_heap = (decorators & IN_HEAP) != 0;
   bool in_native = (decorators & IN_NATIVE) != 0;
   switch (type) {
   case T_OBJECT:
   case T_ARRAY: {

@@ -227,5 +227,23 @@
   } else {
     __ add(t1, t1, con_size_in_bytes);
   }
   __ str(t1, Address(rthread, in_bytes(JavaThread::allocated_bytes_offset())));
 }
+
+void BarrierSetAssembler::nmethod_entry_barrier(MacroAssembler* masm)  {
+// DMS CHECK: 8210498: nmethod entry barriers is not implemented
+#if 0
+ BarrierSetNMethod* bs_nm = BarrierSet::barrier_set()->barrier_set_nmethod();
+  if (bs_nm == NULL) {
+    return;
+  }
+  Label continuation;
+  Address disarmed_addr(rthread, in_bytes(bs_nm->thread_disarmed_offset()));
+  __ align(8);
+  __ ldr(rscratch1, disarmed_addr);
+  __ cbz(rscratch1, continuation);
+  __ blr(RuntimeAddress(StubRoutines::aarch64::method_entry_barrier()));
+  __ bind(continuation);
+#endif
+}
+
< prev index next >