Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 080cb32

Browse files
committed
SF patch #701907: More use of fast_next_opcode
My previous patches should have used fast_next_opcode in a few places instead of continue. Also, applied one PyInt_AS_LONG macro in a place where the type had already been checked.
1 parent 43ed43b commit 080cb32

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

Python/ceval.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -883,7 +883,7 @@ eval_frame(PyFrameObject *f)
883883
w = SECOND();
884884
SET_TOP(w);
885885
SET_SECOND(v);
886-
continue;
886+
goto fast_next_opcode;
887887

888888
case ROT_THREE:
889889
v = TOP();
@@ -892,7 +892,7 @@ eval_frame(PyFrameObject *f)
892892
SET_TOP(w);
893893
SET_SECOND(x);
894894
SET_THIRD(v);
895-
continue;
895+
goto fast_next_opcode;
896896

897897
case ROT_FOUR:
898898
u = TOP();
@@ -903,13 +903,13 @@ eval_frame(PyFrameObject *f)
903903
SET_SECOND(w);
904904
SET_THIRD(x);
905905
SET_FOURTH(u);
906-
continue;
906+
goto fast_next_opcode;
907907

908908
case DUP_TOP:
909909
v = TOP();
910910
Py_INCREF(v);
911911
PUSH(v);
912-
continue;
912+
goto fast_next_opcode;
913913

914914
case DUP_TOPX:
915915
if (oparg == 2) {
@@ -1594,7 +1594,7 @@ eval_frame(PyFrameObject *f)
15941594
case END_FINALLY:
15951595
v = POP();
15961596
if (PyInt_Check(v)) {
1597-
why = (enum why_code) PyInt_AsLong(v);
1597+
why = (enum why_code) PyInt_AS_LONG(v);
15981598
if (why == WHY_RETURN ||
15991599
why == WHY_YIELD ||
16001600
why == WHY_CONTINUE)
@@ -1972,15 +1972,15 @@ eval_frame(PyFrameObject *f)
19721972

19731973
case JUMP_FORWARD:
19741974
JUMPBY(oparg);
1975-
continue;
1975+
goto fast_next_opcode;
19761976

19771977
case JUMP_IF_FALSE:
19781978
w = TOP();
19791979
if (w == Py_True)
1980-
continue;
1980+
goto fast_next_opcode;
19811981
if (w == Py_False) {
19821982
JUMPBY(oparg);
1983-
continue;
1983+
goto fast_next_opcode;
19841984
}
19851985
err = PyObject_IsTrue(w);
19861986
if (err > 0)
@@ -1994,10 +1994,10 @@ eval_frame(PyFrameObject *f)
19941994
case JUMP_IF_TRUE:
19951995
w = TOP();
19961996
if (w == Py_False)
1997-
continue;
1997+
goto fast_next_opcode;
19981998
if (w == Py_True) {
19991999
JUMPBY(oparg);
2000-
continue;
2000+
goto fast_next_opcode;
20012001
}
20022002
err = PyObject_IsTrue(w);
20032003
if (err > 0) {
@@ -2012,7 +2012,7 @@ eval_frame(PyFrameObject *f)
20122012

20132013
case JUMP_ABSOLUTE:
20142014
JUMPTO(oparg);
2015-
continue;
2015+
goto fast_next_opcode;
20162016

20172017
case GET_ITER:
20182018
/* before: [obj]; after [getiter(obj)] */

0 commit comments

Comments
 (0)