[pypy-commit] pypy default: Fix for the finalizer test failures after c4654fc5b220

arigo pypy.commits at gmail.com
Fri Mar 23 03:12:07 EDT 2018


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r94108:8c6acf86401f
Date: 2018-03-23 08:11 +0100
http://bitbucket.org/pypy/pypy/changeset/8c6acf86401f/

Log:	Fix for the finalizer test failures after c4654fc5b220

diff --git a/rpython/memory/gctransform/framework.py b/rpython/memory/gctransform/framework.py
--- a/rpython/memory/gctransform/framework.py
+++ b/rpython/memory/gctransform/framework.py
@@ -1592,8 +1592,7 @@
         index = self.get_finalizer_queue_index(hop)
         c_index = rmodel.inputconst(lltype.Signed, index)
         v_ptr = hop.spaceop.args[1]
-        v_ptr = hop.genop("cast_opaque_ptr", [v_ptr],
-                          resulttype=llmemory.GCREF)
+        assert v_ptr.concretetype == llmemory.GCREF
         hop.genop("direct_call", [self.register_finalizer_ptr, self.c_const_gc,
                                   c_index, v_ptr])
 
diff --git a/rpython/memory/gcwrapper.py b/rpython/memory/gcwrapper.py
--- a/rpython/memory/gcwrapper.py
+++ b/rpython/memory/gcwrapper.py
@@ -235,11 +235,11 @@
             obj = deque.popleft()
         else:
             obj = llmemory.NULL
-        return llmemory.cast_adr_to_ptr(obj, rclass.OBJECTPTR)
+        return llmemory.cast_adr_to_ptr(obj, llmemory.GCREF)
 
     def gc_fq_register(self, fq_tag, ptr):
         index = self.get_finalizer_queue_index(fq_tag)
-        ptr = lltype.cast_opaque_ptr(llmemory.GCREF, ptr)
+        assert lltype.typeOf(ptr) == llmemory.GCREF
         self.gc.register_finalizer(index, ptr)
 
 # ____________________________________________________________


More information about the pypy-commit mailing list