Author: Alex Gaynor <alex.gay...@gmail.com>
Branch: kill-someobject
Changeset: r57836:d2c5a48866bd
Date: 2012-10-07 19:33 +0200
http://bitbucket.org/pypy/pypy/changeset/d2c5a48866bd/

Log:    Remove a bunch of PyObject stuff from the GCs

diff --git a/pypy/rpython/memory/gcwrapper.py b/pypy/rpython/memory/gcwrapper.py
--- a/pypy/rpython/memory/gcwrapper.py
+++ b/pypy/rpython/memory/gcwrapper.py
@@ -5,6 +5,7 @@
 from pypy.rpython.memory import gctypelayout
 from pypy.objspace.flow.model import Constant
 
+
 class GCManagedHeap(object):
 
     def __init__(self, llinterp, flowgraphs, gc_class, GC_PARAMS={}):
@@ -152,9 +153,6 @@
         else:
             return True
 
-    def pyobjectptr(self, klass):
-        raise NotImplementedError(klass)
-
 # ____________________________________________________________
 
 class LLInterpRootWalker:
@@ -193,8 +191,7 @@
         super(DirectRunLayoutBuilder, self).__init__(GCClass, lltype2vtable)
 
     def make_finalizer_funcptr_for_type(self, TYPE):
-        from pypy.rpython.memory.gctransform.support import get_rtti, \
-                type_contains_pyobjs
+        from pypy.rpython.memory.gctransform.support import get_rtti
         rtti = get_rtti(TYPE)
         if rtti is not None and hasattr(rtti._obj, 'destructor_funcptr'):
             destrptr = rtti._obj.destructor_funcptr
@@ -203,7 +200,6 @@
         else:
             return None, False
 
-        assert not type_contains_pyobjs(TYPE), "not implemented"
         t = self.llinterp.typer.annotator.translator
         light = not FinalizerAnalyzer(t).analyze_light_finalizer(destrgraph)
         def ll_finalizer(addr, dummy):
@@ -218,8 +214,7 @@
         return llhelper(gctypelayout.GCData.FINALIZER_OR_CT, ll_finalizer), 
light
 
     def make_custom_trace_funcptr_for_type(self, TYPE):
-        from pypy.rpython.memory.gctransform.support import get_rtti, \
-                type_contains_pyobjs
+        from pypy.rpython.memory.gctransform.support import get_rtti
         rtti = get_rtti(TYPE)
         if rtti is not None and hasattr(rtti._obj, 'custom_trace_funcptr'):
             return rtti._obj.custom_trace_funcptr
diff --git a/pypy/rpython/memory/lltypelayout.py 
b/pypy/rpython/memory/lltypelayout.py
--- a/pypy/rpython/memory/lltypelayout.py
+++ b/pypy/rpython/memory/lltypelayout.py
@@ -47,8 +47,6 @@
         return "i"
     elif isinstance(TYPE, lltype.FuncType):
         return "i"
-    elif isinstance(TYPE, lltype.PyObjectType):
-        return "i"
     else:
         assert 0, "type %s not yet implemented" % (TYPE, )
 
@@ -71,8 +69,6 @@
         return get_fixed_size(lltype.Unsigned)
     elif isinstance(TYPE, lltype.FuncType):
         return get_fixed_size(lltype.Unsigned)
-    elif isinstance(TYPE, lltype.PyObjectType):
-        return get_fixed_size(lltype.Unsigned)
     assert 0, "not yet implemented"
 
 def get_variable_size(TYPE):
@@ -89,8 +85,6 @@
         return 0
     elif isinstance(TYPE, lltype.FuncType):
         return 0
-    elif isinstance(TYPE, lltype.PyObjectType):
-        return 0
     elif isinstance(TYPE, lltype.Ptr):
         return 0
     else:
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to