[pypy-commit] pypy concurrent-marksweep: One more test from test_transformed_gc passes.
arigo
noreply at buildbot.pypy.org
Sun Oct 9 18:26:47 CEST 2011
Author: Armin Rigo <arigo at tunes.org>
Branch: concurrent-marksweep
Changeset: r47899:c24efc6995c0
Date: 2011-10-09 15:30 +0200
http://bitbucket.org/pypy/pypy/changeset/c24efc6995c0/
Log: One more test from test_transformed_gc passes.
diff --git a/pypy/rpython/lltypesystem/llmemory.py b/pypy/rpython/lltypesystem/llmemory.py
--- a/pypy/rpython/lltypesystem/llmemory.py
+++ b/pypy/rpython/lltypesystem/llmemory.py
@@ -547,6 +547,11 @@
# support for "i & 0xFF == <odd value>", which is always False if i is
# an AddressAsInt (at least assuming the address is of some word-aligned
# location).
+ def annotation(self):
+ from pypy.annotation import model
+ return model.SomeInteger()
+ def lltype(self):
+ return lltype.Signed
def __eq__(self, other):
assert (other & 3) != 0
return False
diff --git a/pypy/rpython/lltypesystem/opimpl.py b/pypy/rpython/lltypesystem/opimpl.py
--- a/pypy/rpython/lltypesystem/opimpl.py
+++ b/pypy/rpython/lltypesystem/opimpl.py
@@ -197,6 +197,12 @@
assert isinstance(y, int)
return intmask(x - y)
+def op_int_eq(x, y):
+ # specail case for MultipleOf4
+ assert isinstance(x, (int, llmemory.MultipleOf4))
+ assert isinstance(y, int)
+ return x == y
+
def op_int_ge(x, y):
# special case for 'AddressOffset >= 0'
assert isinstance(x, (int, llmemory.AddressOffset))
@@ -219,7 +225,8 @@
if not isinstance(x, int):
from pypy.rpython.lltypesystem import llgroup
assert isinstance(x, (llgroup.CombinedSymbolic,
- llgroup.HighCombinedSymbolic))
+ llgroup.HighCombinedSymbolic,
+ llmemory.AddressAsInt))
assert isinstance(y, int)
return x & y
More information about the pypy-commit
mailing list