< prev index next >

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

Print this page

        

*** 71,81 **** default: Unimplemented(); } } void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, ! Address dst, Register val, Register tmp1, Register tmp2) { bool in_heap = (decorators & IN_HEAP) != 0; bool in_native = (decorators & IN_NATIVE) != 0; switch (type) { case T_OBJECT: case T_ARRAY: { --- 71,81 ---- default: Unimplemented(); } } void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, ! 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,231 **** --- 227,249 ---- } 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 >