src/hotspot/cpu/aarch64/templateTable_aarch64.cpp
branchepsilon-gc-branch
changeset 55934 912c55e702d6
parent 55767 8e22715afabc
parent 47916 bdbef8638948
child 55974 06122633fead
equal deleted inserted replaced
55802:b2b4df384c83 55934:912c55e702d6
  2194     __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::register_finalizer), c_rarg1);
  2194     __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::register_finalizer), c_rarg1);
  2195 
  2195 
  2196     __ bind(skip_register_finalizer);
  2196     __ bind(skip_register_finalizer);
  2197   }
  2197   }
  2198 
  2198 
  2199   // Explicitly reset last_sp, for handling special case in TemplateInterpreter::deopt_reexecute_entry
       
  2200 #ifdef ASSERT
       
  2201   if (state == vtos) {
       
  2202     __ str(zr, Address(rfp, frame::interpreter_frame_last_sp_offset * wordSize));
       
  2203   }
       
  2204 #endif
       
  2205 
       
  2206   // Issue a StoreStore barrier after all stores but before return
  2199   // Issue a StoreStore barrier after all stores but before return
  2207   // from any constructor for any class with a final field.  We don't
  2200   // from any constructor for any class with a final field.  We don't
  2208   // know if this is a finalizer, so we always do so.
  2201   // know if this is a finalizer, so we always do so.
  2209   if (_desc->bytecode() == Bytecodes::_return)
  2202   if (_desc->bytecode() == Bytecodes::_return)
  2210     __ membar(MacroAssembler::StoreStore);
  2203     __ membar(MacroAssembler::StoreStore);