[pypy-commit] pypy quad-color-gc: Fix wrong initialization order

ntruessel pypy.commits at gmail.com
Tue Aug 30 09:33:29 EDT 2016


Author: Nicolas Truessel <ntruessel at njsm.de>
Branch: quad-color-gc
Changeset: r86736:d2ff4cbaeae8
Date: 2016-08-19 21:50 +0200
http://bitbucket.org/pypy/pypy/changeset/d2ff4cbaeae8/

Log:	Fix wrong initialization order

diff --git a/rpython/memory/gc/qcgc.py b/rpython/memory/gc/qcgc.py
--- a/rpython/memory/gc/qcgc.py
+++ b/rpython/memory/gc/qcgc.py
@@ -23,10 +23,11 @@
             ('hash', lltype.Signed))
     #HDR = rffi.COpaque('object_t')
 
-    def malloc_fixedsize_clear(self, typeid16, size,
+    def malloc_fixedsize_clear(self, typeid, size,
                                needs_finalizer=False,
                                is_finalizer_light=False,
                                contains_weakptr=False):
+        #return llop.qcgc_allocate(size, typeid)
         raise NotImplementedError
         ## XXX finalizers are ignored for now
         ##ll_assert(not needs_finalizer, 'XXX needs_finalizer')
diff --git a/rpython/rtyper/lltypesystem/lloperation.py b/rpython/rtyper/lltypesystem/lloperation.py
--- a/rpython/rtyper/lltypesystem/lloperation.py
+++ b/rpython/rtyper/lltypesystem/lloperation.py
@@ -564,6 +564,9 @@
 
     # __________ instrumentation _________
     'instrument_count':     LLOp(),
+
+    # __________ QCGC operations _________
+    'qcgc_allocate':   LLOp(canmallocgc=True),
 }
 # ***** Run test_lloperation after changes. *****
 
diff --git a/rpython/translator/c/gc.py b/rpython/translator/c/gc.py
--- a/rpython/translator/c/gc.py
+++ b/rpython/translator/c/gc.py
@@ -472,10 +472,10 @@
         return eci
 
     def gc_startup_code(self):
+        yield 'qcgc_initialize();'
         s = list(super(QcgcFrameworkGcPolicy, self).gc_startup_code())
         for i in s:
             yield i
-        yield 'qcgc_initialize();'
 
 name_to_gcpolicy = {
     'boehm': BoehmGcPolicy,


More information about the pypy-commit mailing list