Author: Maciej Fijalkowski <[email protected]>
Branch: gc_no_cleanup_nursery
Changeset: r73324:0026f4ea693a
Date: 2014-09-05 12:58 -0600
http://bitbucket.org/pypy/pypy/changeset/0026f4ea693a/

Log:    fix some tests

diff --git a/rpython/jit/backend/llgraph/runner.py 
b/rpython/jit/backend/llgraph/runner.py
--- a/rpython/jit/backend/llgraph/runner.py
+++ b/rpython/jit/backend/llgraph/runner.py
@@ -643,8 +643,19 @@
         array = lltype.malloc(arraydescr.A, length)
         return lltype.cast_opaque_ptr(llmemory.GCREF, array)
 
-    def bh_clear_array_contents(self, array, arraydescr):
-        pass # I think arrays are zero-initialized here anyhow
+    def bh_clear_array_contents(self, a, descr):
+        a = support.cast_arg(lltype.Ptr(descr.A), a)
+        ITEM = descr.A.OF
+        array = a._obj
+        if isinstance(ITEM, lltype.Struct):
+            for i in xrange(array.getlength()):
+                for name, FIELD in ITEM._flds.iteritems():
+                    null = FIELD._defl()
+                    setattr(array.getitem(i), name, null)
+        else:
+            null = ITEM._defl()
+            for i in xrange(array.getlength()):
+                array.setitem(i, null)
 
     def bh_classof(self, struct):
         struct = lltype.cast_opaque_ptr(rclass.OBJECTPTR, struct)
diff --git a/rpython/jit/backend/llsupport/llmodel.py 
b/rpython/jit/backend/llsupport/llmodel.py
--- a/rpython/jit/backend/llsupport/llmodel.py
+++ b/rpython/jit/backend/llsupport/llmodel.py
@@ -596,7 +596,8 @@
         arraysize = self.bh_arraylen_gc(ref, arraydescr)
         totalsize = size * arraysize
         adr = rffi.cast(lltype.Signed, ref) + ofs
-        self.gc_ll_descr.memset_ptr(adr, 1, totalsize)
+        self.gc_ll_descr.memset_ptr(adr, rffi.cast(rffi.INT, 0),
+                                    rffi.cast(rffi.SIZE_T, totalsize))
 
     def bh_new_with_vtable(self, vtable, sizedescr):
         res = self.gc_ll_descr.gc_malloc(sizedescr)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to