[pypy-svn] r64081 - in pypy/branch/pyjitpl5-simplify/pypy: interpreter module/pypyjit
fijal at codespeak.net
fijal at codespeak.net
Wed Apr 15 05:58:19 CEST 2009
Author: fijal
Date: Wed Apr 15 05:58:19 2009
New Revision: 64081
Modified:
pypy/branch/pyjitpl5-simplify/pypy/interpreter/pyopcode.py
pypy/branch/pyjitpl5-simplify/pypy/module/pypyjit/interp_jit.py
Log:
try to work around the bug in jit and not to read ec from somewhere else.
Modified: pypy/branch/pyjitpl5-simplify/pypy/interpreter/pyopcode.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/interpreter/pyopcode.py (original)
+++ pypy/branch/pyjitpl5-simplify/pypy/interpreter/pyopcode.py Wed Apr 15 05:58:19 2009
@@ -221,6 +221,9 @@
next_instr = block.handle(self, unroller)
return next_instr
+ if opcode == opcodedesc.JUMP_ABSOLUTE.index:
+ return self.JUMP_ABSOLUTE(oparg, next_instr, ec)
+
if we_are_translated():
from pypy.rlib import rstack # for resume points
Modified: pypy/branch/pyjitpl5-simplify/pypy/module/pypyjit/interp_jit.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/module/pypyjit/interp_jit.py (original)
+++ pypy/branch/pyjitpl5-simplify/pypy/module/pypyjit/interp_jit.py Wed Apr 15 05:58:19 2009
@@ -40,16 +40,15 @@
next_instr = r_uint(next_instr)
try:
while True:
- pypyjitdriver.jit_merge_point(
- frame=self, ec=ec, next_instr=next_instr, pycode=pycode)
+ pypyjitdriver.jit_merge_point(ec=ec,
+ frame=self, next_instr=next_instr, pycode=pycode)
co_code = pycode.co_code
self.valuestackdepth = hint(self.valuestackdepth, promote=True)
next_instr = self.handle_bytecode(co_code, next_instr, ec)
except ExitFrame:
return self.popvalue()
- def JUMP_ABSOLUTE(f, jumpto, next_instr, *ignored):
- ec = f.space.getexecutioncontext()
+ def JUMP_ABSOLUTE(f, jumpto, next_instr, ec):
pypyjitdriver.can_enter_jit(frame=f, ec=ec, next_instr=jumpto,
pycode=f.getcode())
return jumpto
More information about the Pypy-commit
mailing list