[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