diff options
author | Raymond Hettinger <python@rcn.com> | 2004-04-11 14:59:33 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2004-04-11 14:59:33 (GMT) |
commit | c8aa08b1725420c00b8960f1915d5a3a7c32b8c5 (patch) | |
tree | 73033eb819c1d769f84385c7314e508910605b54 | |
parent | b88820058f4aa1826b23899d4378dc1a2af16b73 (diff) | |
download | cpython-c8aa08b1725420c00b8960f1915d5a3a7c32b8c5.zip cpython-c8aa08b1725420c00b8960f1915d5a3a7c32b8c5.tar.gz cpython-c8aa08b1725420c00b8960f1915d5a3a7c32b8c5.tar.bz2 |
Some (but not all) of the why code bitfield tests ran faster as
separate equality tests. Now, all are set to their best timing.
-rw-r--r-- | Python/ceval.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index 82a95a9..c103f14 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -1650,7 +1650,8 @@ eval_frame(PyFrameObject *f) if (PyInt_Check(v)) { why = (enum why_code) PyInt_AS_LONG(v); assert(why != WHY_YIELD); - if (why & (WHY_RETURN | WHY_CONTINUE)) + if (why == WHY_RETURN || + why == WHY_CONTINUE) retval = POP(); } else if (PyClass_Check(v) || PyString_Check(v)) { @@ -2289,7 +2290,7 @@ eval_frame(PyFrameObject *f) /* Double-check exception status */ - if (why & (WHY_EXCEPTION | WHY_RERAISE)) { + if (why == WHY_EXCEPTION || why == WHY_RERAISE) { if (!PyErr_Occurred()) { PyErr_SetString(PyExc_SystemError, "error return without exception set"); @@ -2411,7 +2412,7 @@ fast_block_end: fast_yield: if (tstate->use_tracing) { if (tstate->c_tracefunc - && (why & (WHY_RETURN | WHY_YIELD))) { + && (why == WHY_RETURN || why == WHY_YIELD)) { if (call_trace(tstate->c_tracefunc, tstate->c_traceobj, f, PyTrace_RETURN, retval)) { |