< prev index next >

src/hotspot/cpu/riscv/templateTable_riscv.cpp

Print this page
*** 2101,11 ***
    }
  
    // 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;
--- 2101,12 ---
    }
  
    // 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 >