[prev in list] [next in list] [prev in thread] [next in thread]
List: pypy-svn
Subject: [pypy-commit] pypy stmgc-c4: more testing, more fixes
From: Raemi <noreply () buildbot ! pypy ! org>
Date: 2013-07-31 11:31:26
Message-ID: 20130731113126.C28031C0359 () cobra ! cs ! uni-duesseldorf ! de
[Download RAW message or body]
Author: Remi Meier <remi.meier@gmail.com>
Branch: stmgc-c4
Changeset: r65860:455bc75d0676
Date: 2013-07-31 13:30 +0200
http://bitbucket.org/pypy/pypy/changeset/455bc75d0676/
Log: more testing, more fixes
diff --git a/rpython/jit/backend/llsupport/test/zrpy_gc_test.py \
b/rpython/jit/backend/llsupport/test/zrpy_gc_test.py
--- a/rpython/jit/backend/llsupport/test/zrpy_gc_test.py
+++ b/rpython/jit/backend/llsupport/test/zrpy_gc_test.py
@@ -816,6 +816,19 @@
raiseassert(x1 != ptrs[1])
raiseassert(x1 == ptrs[2])
raiseassert(x1 != ptrs[3])
+ raiseassert(x2 == ptrs[0])
+ raiseassert(x2 != ptrs[1])
+ raiseassert(x2 != ptrs[2])
+ raiseassert(x2 != ptrs[3])
+ raiseassert(ptrs[0] is None)
+ raiseassert(ptrs[1] is not None)
+ raiseassert(ptrs[2] is not None)
+ raiseassert(ptrs[3] is not None)
+ raiseassert(ptrs[1] is x0)
+ raiseassert(ptrs[2] is x1)
+ raiseassert(x0 is not None)
+ raiseassert(x1 is not None)
+ raiseassert(x3 is None)
#
return n - 1, x, x0, x1, x2, x3, x4, x5, x6, x7, ptrs, s
return before, f, None
diff --git a/rpython/jit/backend/x86/assembler.py \
b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -2176,10 +2176,12 @@
# a == b -> SET NZ
if isinstance(a_base, ImmedLoc) and isinstance(b_base, ImmedLoc):
if a_base.getint() == b_base.getint():
- mc.XOR(X86_64_SCRATCH_REG, X86_64_SCRATCH_REG)
- mc.INC(X86_64_SCRATCH_REG) # NZ flag
+ mc.MOV_ri(X86_64_SCRATCH_REG.value, 1)
+ mc.TEST(X86_64_SCRATCH_REG, X86_64_SCRATCH_REG) # NZ flag
mc.JMP_l8(0)
j_ok1 = mc.get_relative_pos()
+ else:
+ j_ok1 = 0
else:
# do the dance, even if a or b is an Immed
# XXX: figure out if CMP() is able to handle it without
@@ -2238,8 +2240,9 @@
#
# OK: flags already set
- offset = mc.get_relative_pos() - j_ok1
- mc.overwrite(j_ok1 - 1, chr(offset))
+ if j_ok1:
+ offset = mc.get_relative_pos() - j_ok1
+ mc.overwrite(j_ok1 - 1, chr(offset))
if j_ok2:
offset = mc.get_relative_pos() - j_ok2
mc.overwrite(j_ok2 - 1, chr(offset))
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic