[pypy-commit] pypy gc_no_cleanup_nursery: NEW_ARRAY should only be used on arrays of primitives. Otherwise, use

arigo noreply at buildbot.pypy.org
Thu Sep 25 10:27:33 CEST 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: gc_no_cleanup_nursery
Changeset: r73693:5a14bf8ac1a6
Date: 2014-09-25 10:27 +0200
http://bitbucket.org/pypy/pypy/changeset/5a14bf8ac1a6/

Log:	NEW_ARRAY should only be used on arrays of primitives. Otherwise,
	use NEW_ARRAY_CLEAR.

diff --git a/rpython/jit/metainterp/resoperation.py b/rpython/jit/metainterp/resoperation.py
--- a/rpython/jit/metainterp/resoperation.py
+++ b/rpython/jit/metainterp/resoperation.py
@@ -483,9 +483,8 @@
     '_MALLOC_FIRST',
     'NEW/0d',             #-> GcStruct, gcptrs inside are zeroed (not the rest)
     'NEW_WITH_VTABLE/1',  #-> GcStruct with vtable, gcptrs inside are zeroed
-    'NEW_ARRAY/1d',       #-> GcArray, zeroed if array of gcptr or of structs
-                          #            (even if struct has no gcptrs)
-    'NEW_ARRAY_CLEAR/1d', #-> GcArray, zeroed always
+    'NEW_ARRAY/1d',       #-> GcArray, not zeroed. only for arrays of primitives
+    'NEW_ARRAY_CLEAR/1d', #-> GcArray, fully zeroed
     'NEWSTR/1',           #-> STR, the hash field is zeroed
     'NEWUNICODE/1',       #-> UNICODE, the hash field is zeroed
     '_MALLOC_LAST',


More information about the pypy-commit mailing list