[10] RFR: [AOT] assert(false) failed: DEBUG MESSAGE: InterpreterMacroAssembler::call_VM_base: last_sp != NULL

jamsheed jamsheed.c.m at oracle.com
Mon Sep 11 18:13:47 UTC 2017


Hi,

request for review the fix made for the bug

JBS: https://bugs.openjdk.java.net/browse/JDK-8168712

webrev: http://cr.openjdk.java.net/~jcm/8168712/webrev.00/

brief desc: special handling of Object.<init> in 
TemplateInterpreter::deopt_reexecute_entry

required last_sp to be reset explicitly in normal return path

address TemplateInterpreter::deopt_reexecute_entry(Method* method, 
address bcp) {
   assert(method->contains(bcp), "just checkin'");
   Bytecodes::Code code   = Bytecodes::java_code_at(method, bcp);
   if (code == Bytecodes::_return) {
     // This is used for deopt during registration of finalizers
     // during Object.<init>.  We simply need to resume execution at
     // the standard return vtos bytecode to pop the frame normally.
     // reexecuting the real bytecode would cause double registration
     // of the finalizable object.
     return _normal_table.entry(Bytecodes::_return).entry(vtos);

test: jprt

Best Regards,

Jamsheed




More information about the hotspot-compiler-dev mailing list