Commit 818927c9 authored by Marius Wachtler's avatar Marius Wachtler

bjit: fix failed OSR

OSR can fail in some cases and we have to continue with interpreting in this cases.
parent 73eb4a8d
......@@ -406,9 +406,16 @@ Box* ASTInterpreter::executeInner(ASTInterpreter& interpreter, CFGBlock* start_b
// WARNING: do not put a try catch + rethrow block around this code here.
// it will confuse our unwinder!
rtn = interpreter.doOSR(cur_stmt);
Py_CLEAR(v.o);
// rtn == NULL when the OSR failed and we have to continue with interpreting
if (rtn)
return rtn;
// if we get here OSR failed, fallthrough to the interpreter loop
} else {
Py_XDECREF(v.o);
return rtn;
}
Py_XDECREF(v.o);
return rtn;
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment