diff options
author | Neil Schemenauer <nascheme@enme.ucalgary.ca> | 2003-05-30 23:59:44 (GMT) |
---|---|---|
committer | Neil Schemenauer <nascheme@enme.ucalgary.ca> | 2003-05-30 23:59:44 (GMT) |
commit | ca2a2f11d0ee7c8dee0f74d001c6f3f7d15adac9 (patch) | |
tree | 7cfdec76d70da1dd370e84a4abe111475de8a66f /Python | |
parent | 98c20befa6b35b6e30a6b229201eaf635426c4cc (diff) | |
download | cpython-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.c | 12 |
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)] */ |