equal
deleted
inserted
replaced
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); |