Author: Maciej Fijalkowski <[email protected]>
Branch: gc_no_cleanup_nursery
Changeset: r73700:0cb0f646d4d5
Date: 2014-09-25 12:32 +0200
http://bitbucket.org/pypy/pypy/changeset/0cb0f646d4d5/

Log:    missing case

diff --git a/rpython/jit/codewriter/jtransform.py 
b/rpython/jit/codewriter/jtransform.py
--- a/rpython/jit/codewriter/jtransform.py
+++ b/rpython/jit/codewriter/jtransform.py
@@ -1668,7 +1668,13 @@
             v = Variable('new_length')
             v.concretetype = lltype.Signed
             ops.append(SpaceOperation('int_force_ge_zero', [v_length], v))
-        ops.append(SpaceOperation('new_array', [v, arraydescr], op.result))
+        ARRAY = op.result.concretetype.TO
+        if ((isinstance(ARRAY.OF, lltype.Ptr) and ARRAY.OF._needsgc()) or
+               isinstance(ARRAY.OF, lltype.Struct)):
+            opname = 'new_array_clear'
+        else:
+            opname = 'new_array'
+        ops.append(SpaceOperation(opname, [v, arraydescr], op.result))
         return ops
 
     def do_fixed_list_len(self, op, args, arraydescr):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to