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