• Marius Wachtler's avatar
    bjit: don't directly do a OSR from the bjit · 82c676a1
    Marius Wachtler authored
    We can't directly do OSR from the bjit frame because it will cause issues with exception handling.
    Reason is that the bjit and the OSRed code share the same python frame and the way invokes are implemented in the
    bjit. During unwinding we will see the OSR frame and will remove it and continue to unwind but the try catch
    block inside ASTInterpreter::execJITedBlock will rethrow the exception which causes another frame deinit,
    which is wrong because it already got removed.
    Instead we return back to the interpreter loop with special value (osr_dummy_value) which will trigger the OSR from there.
    82c676a1
bjit_osr_test.py 200 Bytes