< prev index next > src/hotspot/cpu/riscv/templateTable_riscv.cpp
Print this page
}
// Issue a StoreStore barrier after all stores but before return
// from any constructor for any class with a final field. We don't
// know if this is a finalizer, so we always do so.
! if (_desc->bytecode() == Bytecodes::_return) {
__ membar(MacroAssembler::StoreStore);
}
if (_desc->bytecode() != Bytecodes::_return_register_finalizer) {
Label no_safepoint;
}
// Issue a StoreStore barrier after all stores but before return
// from any constructor for any class with a final field. We don't
// know if this is a finalizer, so we always do so.
! if (_desc->bytecode() == Bytecodes::_return
+ || _desc->bytecode() == Bytecodes::_return_register_finalizer) {
__ membar(MacroAssembler::StoreStore);
}
if (_desc->bytecode() != Bytecodes::_return_register_finalizer) {
Label no_safepoint;
< prev index next >