[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