[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