summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorNeil Schemenauer <nascheme@enme.ucalgary.ca>2003-05-30 23:59:44 (GMT)
committerNeil Schemenauer <nascheme@enme.ucalgary.ca>2003-05-30 23:59:44 (GMT)
commitca2a2f11d0ee7c8dee0f74d001c6f3f7d15adac9 (patch)
tree7cfdec76d70da1dd370e84a4abe111475de8a66f /Python
parent98c20befa6b35b6e30a6b229201eaf635426c4cc (diff)
downloadcpython-ca2a2f11d0ee7c8dee0f74d001c6f3f7d15adac9.zip
cpython-ca2a2f11d0ee7c8dee0f74d001c6f3f7d15adac9.tar.gz
cpython-ca2a2f11d0ee7c8dee0f74d001c6f3f7d15adac9.tar.bz2
Don't use fast_next_opcode for JUMP_* opcodes. This fixes the problem
reported by Kurt B. Kaiser.
Diffstat (limited to 'Python')
-rw-r--r--Python/ceval.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/Python/ceval.c b/Python/ceval.c
index abefd32..85e9e6b 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -2001,18 +2001,18 @@ eval_frame(PyFrameObject *f)
case JUMP_FORWARD:
JUMPBY(oparg);
- goto fast_next_opcode;
+ continue;
PREDICTED_WITH_ARG(JUMP_IF_FALSE);
case JUMP_IF_FALSE:
w = TOP();
if (w == Py_True) {
PREDICT(POP_TOP);
- goto fast_next_opcode;
+ continue;
}
if (w == Py_False) {
JUMPBY(oparg);
- goto fast_next_opcode;
+ continue;
}
err = PyObject_IsTrue(w);
if (err > 0)
@@ -2028,11 +2028,11 @@ eval_frame(PyFrameObject *f)
w = TOP();
if (w == Py_False) {
PREDICT(POP_TOP);
- goto fast_next_opcode;
+ continue;
}
if (w == Py_True) {
JUMPBY(oparg);
- goto fast_next_opcode;
+ continue;
}
err = PyObject_IsTrue(w);
if (err > 0) {
@@ -2047,7 +2047,7 @@ eval_frame(PyFrameObject *f)
case JUMP_ABSOLUTE:
JUMPTO(oparg);
- goto fast_next_opcode;
+ continue;
case GET_ITER:
/* before: [obj]; after [getiter(obj)] */