Author: Tim Felgentreff <[email protected]>
Branch: int-tag-untag-as-operations
Changeset: r63591:b3a63e7e8555
Date: 2013-04-24 14:23 +0200
http://bitbucket.org/pypy/pypy/changeset/b3a63e7e8555/

Log:    fix test_lloperation.py::test_canfold_opimpl_complete

diff --git a/rpython/rtyper/lltypesystem/opimpl.py 
b/rpython/rtyper/lltypesystem/opimpl.py
--- a/rpython/rtyper/lltypesystem/opimpl.py
+++ b/rpython/rtyper/lltypesystem/opimpl.py
@@ -185,6 +185,15 @@
     assert type(b) is bool
     return not b
 
+def op_int_untag(a):
+    assert is_valid_int(a)
+    assert ((a & 1) == 1, "op_int_untag: not an odd int")
+    return a >> 1
+
+def op_int_tag(a):
+    assert is_valid_int(a)
+    return intmask(a << 1) + 1
+
 def op_int_add(x, y):
     if not isinstance(x, (int, long, llmemory.AddressOffset)):
         from rpython.rtyper.lltypesystem import llgroup
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to