[pypy-svn] r63007 - pypy/trunk/pypy/translator/backendopt

arigo at codespeak.net arigo at codespeak.net
Tue Mar 17 18:03:17 CET 2009


Author: arigo
Date: Tue Mar 17 18:03:16 2009
New Revision: 63007

Modified:
   pypy/trunk/pypy/translator/backendopt/malloc.py
Log:
A merge from the oo-jit branch.


Modified: pypy/trunk/pypy/translator/backendopt/malloc.py
==============================================================================
--- pypy/trunk/pypy/translator/backendopt/malloc.py	(original)
+++ pypy/trunk/pypy/translator/backendopt/malloc.py	Tue Mar 17 18:03:16 2009
@@ -552,6 +552,7 @@
     FIELD_ACCESS = dict.fromkeys(["oogetfield",
                                   "oosetfield",
                                   "oononnull",
+                                  "ooisnull",
                                   #"oois",  # ???
                                   #"instanceof", # ???
                                   ])
@@ -614,10 +615,10 @@
             # equivalent.  We can, and indeed must, use the same
             # flattened list of variables for both, as a "setfield"
             # via one pointer must be reflected in the other.
-        elif op.opname == "oononnull":
+        elif op.opname in ("ooisnull", "oononnull"):
             # we know the pointer is not NULL if it comes from
             # a successful malloc
-            c = Constant(True, lltype.Bool)
+            c = Constant(op.opname == "oononnull", lltype.Bool)
             newop = SpaceOperation('same_as', [c], op.result)
             self.newops.append(newop)
         else:



More information about the Pypy-commit mailing list