[pypy-commit] pypy jitframe-on-heap: fix test_jump

fijal noreply at buildbot.pypy.org
Sat Jan 19 15:07:37 CET 2013


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: jitframe-on-heap
Changeset: r60210:d3bdf7d158b5
Date: 2013-01-19 16:07 +0200
http://bitbucket.org/pypy/pypy/changeset/d3bdf7d158b5/

Log:	fix test_jump

diff --git a/pypy/TODO b/pypy/TODO
--- a/pypy/TODO
+++ b/pypy/TODO
@@ -2,4 +2,5 @@
 * 32bit x86
 * ARM
 * shadowstack + asmgcc
-* kill jit2gc on translator
\ No newline at end of file
+* kill jit2gc on translator
+* fix test_singlefloats in test_calling_conventions
\ No newline at end of file
diff --git a/pypy/jit/backend/x86/regloc.py b/pypy/jit/backend/x86/regloc.py
--- a/pypy/jit/backend/x86/regloc.py
+++ b/pypy/jit/backend/x86/regloc.py
@@ -97,6 +97,8 @@
         return self.type == FLOAT
 
 class StackLoc(RawStackLoc):
+    _immutable_ = True
+    
     def __init__(self, position, ebp_offset, type):
         from pypy.jit.backend.x86.arch import JITFRAME_FIXED_SIZE, WORD
         
@@ -106,7 +108,8 @@
         assert ebp_offset >= 0
         #assert not (0 <= ebp_offset < 8 + 8 * IS_X86_64)
         self.position = position
-        assert (position + JITFRAME_FIXED_SIZE) * WORD == ebp_offset
+        if position != 9999:
+            assert (position + JITFRAME_FIXED_SIZE) * WORD == ebp_offset
         self.value = ebp_offset
         # One of INT, REF, FLOAT
         self.type = type
diff --git a/pypy/jit/backend/x86/test/test_jump.py b/pypy/jit/backend/x86/test/test_jump.py
--- a/pypy/jit/backend/x86/test/test_jump.py
+++ b/pypy/jit/backend/x86/test/test_jump.py
@@ -389,11 +389,11 @@
 
 def test_overflow_bug():
     CASE = [
-        (-144, -248),   # \ cycle
-        (-248, -144),   # /
-        (-488, -416),   # \ two usages of -488
-        (-488, -480),   # /
-        (-488, -488),   # - one self-application of -488
+        (144, 248),   # \ cycle
+        (248, 144),   # /
+        (488, 416),   # \ two usages of -488
+        (488, 480),   # /
+        (488, 488),   # - one self-application of -488
         ]
     class FakeAssembler:
         def regalloc_mov(self, src, dst):


More information about the pypy-commit mailing list