Author: Armin Rigo <[email protected]>
Branch: gc_no_cleanup_nursery
Changeset: r73708:54ddfd15ce4a
Date: 2014-09-25 19:57 +0200
http://bitbucket.org/pypy/pypy/changeset/54ddfd15ce4a/

Log:    Restore the check for is_null() from trunk

diff --git a/rpython/jit/metainterp/optimizeopt/virtualize.py 
b/rpython/jit/metainterp/optimizeopt/virtualize.py
--- a/rpython/jit/metainterp/optimizeopt/virtualize.py
+++ b/rpython/jit/metainterp/optimizeopt/virtualize.py
@@ -319,14 +319,14 @@
             subvalue = self._items[index]
             if subvalue is None:
                 continue
-            if subvalue is self.constvalue and self.clear:
-                continue
-            else:
-                subbox = subvalue.force_box(optforce)
-                op = ResOperation(rop.SETARRAYITEM_GC,
-                                  [box, ConstInt(index), subbox], None,
-                                   descr=self.arraydescr)
-                optforce.emit_operation(op)
+            if self.clear:
+                if subvalue is self.constvalue or subvalue.is_null():
+                    continue
+            subbox = subvalue.force_box(optforce)
+            op = ResOperation(rop.SETARRAYITEM_GC,
+                              [box, ConstInt(index), subbox], None,
+                               descr=self.arraydescr)
+            optforce.emit_operation(op)
 
     @specialize.argtype(1)
     def _visitor_dispatch_virtual_type(self, visitor):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to