< prev index next >
src/hotspot/cpu/x86/stubGenerator_x86_64.cpp
Print this page
*** 1130,1140 ****
// make sure object is 'reasonable'
__ testptr(rax, rax);
__ jcc(Assembler::zero, exit); // if obj is NULL it is OK
! if (UseLoadBarrier) {
// Check if metadata bits indicate a bad oop
__ testptr(rax, Address(r15_thread, JavaThread::zaddress_bad_mask_offset()));
__ jcc(Assembler::notZero, error);
}
--- 1130,1140 ----
// make sure object is 'reasonable'
__ testptr(rax, rax);
__ jcc(Assembler::zero, exit); // if obj is NULL it is OK
! if (UseZGC) {
// Check if metadata bits indicate a bad oop
__ testptr(rax, Address(r15_thread, JavaThread::zaddress_bad_mask_offset()));
__ jcc(Assembler::notZero, error);
}
*** 5306,5316 ****
// arraycopy stubs used by compilers
generate_arraycopy_stubs();
// Load barrier stubs
! if (UseLoadBarrier) {
address loadbarrier_address = CAST_FROM_FN_PTR(address, SharedRuntime::z_load_barrier_on_oop_field_preloaded);
address loadbarrier_weak_address = CAST_FROM_FN_PTR(address, SharedRuntime::z_load_barrier_on_weak_oop_field_preloaded);
Register rr = as_Register(0);
for (int i = 0; i < RegisterImpl::number_of_registers; i++) {
StubRoutines::x86::_load_barrier_slow_stub[i] = generate_load_barrier_stub(rr, loadbarrier_address, false);
--- 5306,5316 ----
// arraycopy stubs used by compilers
generate_arraycopy_stubs();
// Load barrier stubs
! if (UseZGC) {
address loadbarrier_address = CAST_FROM_FN_PTR(address, SharedRuntime::z_load_barrier_on_oop_field_preloaded);
address loadbarrier_weak_address = CAST_FROM_FN_PTR(address, SharedRuntime::z_load_barrier_on_weak_oop_field_preloaded);
Register rr = as_Register(0);
for (int i = 0; i < RegisterImpl::number_of_registers; i++) {
StubRoutines::x86::_load_barrier_slow_stub[i] = generate_load_barrier_stub(rr, loadbarrier_address, false);
< prev index next >