[pypy-svn] r76683 - pypy/branch/kill-caninline/pypy/module/pypyjit
arigo at codespeak.net
arigo at codespeak.net
Fri Aug 20 17:45:18 CEST 2010
Author: arigo
Date: Fri Aug 20 17:45:16 2010
New Revision: 76683
Modified:
pypy/branch/kill-caninline/pypy/module/pypyjit/interp_jit.py
pypy/branch/kill-caninline/pypy/module/pypyjit/policy.py
Log:
Disable JITting generators entirely for now.
Modified: pypy/branch/kill-caninline/pypy/module/pypyjit/interp_jit.py
==============================================================================
--- pypy/branch/kill-caninline/pypy/module/pypyjit/interp_jit.py (original)
+++ pypy/branch/kill-caninline/pypy/module/pypyjit/interp_jit.py Fri Aug 20 17:45:16 2010
@@ -9,7 +9,7 @@
import pypy.interpreter.pyopcode # for side-effects
from pypy.interpreter.error import OperationError, operationerrfmt
from pypy.interpreter.gateway import ObjSpace, Arguments
-from pypy.interpreter.pycode import PyCode
+from pypy.interpreter.pycode import PyCode, CO_GENERATOR
from pypy.interpreter.pyframe import PyFrame
from pypy.interpreter.pyopcode import ExitFrame
from opcode import opmap
@@ -36,7 +36,8 @@
bytecode.jit_cells[next_instr] = newcell
def confirm_enter_jit(next_instr, bytecode, frame, ec):
- return (frame.w_f_trace is None and
+ return (not (bytecode.co_flags & CO_GENERATOR) and
+ frame.w_f_trace is None and
ec.profilefunc is None and
ec.w_tracefunc is None)
Modified: pypy/branch/kill-caninline/pypy/module/pypyjit/policy.py
==============================================================================
--- pypy/branch/kill-caninline/pypy/module/pypyjit/policy.py (original)
+++ pypy/branch/kill-caninline/pypy/module/pypyjit/policy.py Fri Aug 20 17:45:16 2010
@@ -32,6 +32,8 @@
return False
if mod.startswith('pypy.interpreter.pyparser.'):
return False
+ if mod == 'pypy.interpreter.generator':
+ return False
if mod.startswith('pypy.module.'):
modname = mod[len('pypy.module.'):]
if not self.look_inside_pypy_module(modname):
More information about the Pypy-commit
mailing list