[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