mirror of
https://github.com/python/cpython.git
synced 2025-09-02 23:18:25 +00:00
bpo-46031: add POP_JUMP_IF_NOT_NONE and POP_JUMP_IF_NONE (GH-30019)
This commit is contained in:
parent
35d6540c90
commit
3db762db72
9 changed files with 86 additions and 14 deletions
|
@ -4049,6 +4049,30 @@ check_eval_breaker:
|
|||
DISPATCH();
|
||||
}
|
||||
|
||||
TARGET(POP_JUMP_IF_NOT_NONE) {
|
||||
PyObject *value = POP();
|
||||
if (!Py_IsNone(value)) {
|
||||
Py_DECREF(value);
|
||||
JUMPTO(oparg);
|
||||
CHECK_EVAL_BREAKER();
|
||||
DISPATCH();
|
||||
}
|
||||
Py_DECREF(value);
|
||||
DISPATCH();
|
||||
}
|
||||
|
||||
TARGET(POP_JUMP_IF_NONE) {
|
||||
PyObject *value = POP();
|
||||
if (Py_IsNone(value)) {
|
||||
Py_DECREF(value);
|
||||
JUMPTO(oparg);
|
||||
CHECK_EVAL_BREAKER();
|
||||
DISPATCH();
|
||||
}
|
||||
Py_DECREF(value);
|
||||
DISPATCH();
|
||||
}
|
||||
|
||||
TARGET(JUMP_IF_FALSE_OR_POP) {
|
||||
PyObject *cond = TOP();
|
||||
int err;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue