[pypy-commit] pypy default: Fix for tests

arigo noreply at buildbot.pypy.org
Tue Feb 3 12:02:20 CET 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r75676:fdb74eb88378
Date: 2015-02-03 12:00 +0100
http://bitbucket.org/pypy/pypy/changeset/fdb74eb88378/

Log:	Fix for tests

diff --git a/rpython/jit/metainterp/blackhole.py b/rpython/jit/metainterp/blackhole.py
--- a/rpython/jit/metainterp/blackhole.py
+++ b/rpython/jit/metainterp/blackhole.py
@@ -3,6 +3,7 @@
 from rpython.jit.metainterp.compile import ResumeAtPositionDescr
 from rpython.jit.metainterp.jitexc import get_llexception, reraise
 from rpython.jit.metainterp import jitexc
+from rpython.jit.metainterp.history import MissingValue
 from rpython.rlib import longlong2float
 from rpython.rlib.debug import ll_assert, make_sure_not_resized
 from rpython.rlib.objectmodel import we_are_translated
@@ -29,9 +30,6 @@
 class LeaveFrame(jitexc.JitException):
     pass
 
-class MissingValue(object):
-    "NOT_RPYTHON"
-
 def signedord(c):
     value = ord(c)
     value = intmask(value << (LONG_BIT-8)) >> (LONG_BIT-8)
@@ -1595,14 +1593,20 @@
         self.setposition(miframe.jitcode, miframe.pc)
         for i in range(self.jitcode.num_regs_i()):
             box = miframe.registers_i[i]
+            if not we_are_translated() and isinstance(box, MissingValue):
+                continue
             if box is not None:
                 self.setarg_i(i, box.getint())
         for i in range(self.jitcode.num_regs_r()):
             box = miframe.registers_r[i]
+            if not we_are_translated() and isinstance(box, MissingValue):
+                continue
             if box is not None:
                 self.setarg_r(i, box.getref_base())
         for i in range(self.jitcode.num_regs_f()):
             box = miframe.registers_f[i]
+            if not we_are_translated() and isinstance(box, MissingValue):
+                continue
             if box is not None:
                 self.setarg_f(i, box.getfloatstorage())
 
diff --git a/rpython/jit/metainterp/history.py b/rpython/jit/metainterp/history.py
--- a/rpython/jit/metainterp/history.py
+++ b/rpython/jit/metainterp/history.py
@@ -170,6 +170,10 @@
         self.identifier = identifier      # for testing
 
 
+class MissingValue(object):
+    "NOT_RPYTHON"
+
+
 class Const(AbstractValue):
     __slots__ = ()
 
diff --git a/rpython/jit/metainterp/pyjitpl.py b/rpython/jit/metainterp/pyjitpl.py
--- a/rpython/jit/metainterp/pyjitpl.py
+++ b/rpython/jit/metainterp/pyjitpl.py
@@ -8,7 +8,7 @@
 from rpython.jit.metainterp import history, compile, resume, executor, jitexc
 from rpython.jit.metainterp.heapcache import HeapCache
 from rpython.jit.metainterp.history import (Const, ConstInt, ConstPtr,
-    ConstFloat, Box, TargetToken)
+    ConstFloat, Box, TargetToken, MissingValue)
 from rpython.jit.metainterp.jitprof import EmptyProfiler
 from rpython.jit.metainterp.logger import Logger
 from rpython.jit.metainterp.optimizeopt.util import args_dict
@@ -43,9 +43,6 @@
     "ge": "history.CONST_TRUE",
 }
 
-class MissingValue(object):
-    "NOT_RPYTHON"
-
 class MIFrame(object):
     debug = False
 


More information about the pypy-commit mailing list