[pypy-svn] r25793 - in pypy/dist/pypy: rpython/memory translator/c
cfbolz at codespeak.net
cfbolz at codespeak.net
Thu Apr 13 16:05:57 CEST 2006
Author: cfbolz
Date: Thu Apr 13 16:05:57 2006
New Revision: 25793
Modified:
pypy/dist/pypy/rpython/memory/gctransform.py
pypy/dist/pypy/translator/c/gc.py
Log:
remove the really strange inheritance of the Framework classes from the boehm classes
Modified: pypy/dist/pypy/rpython/memory/gctransform.py
==============================================================================
--- pypy/dist/pypy/rpython/memory/gctransform.py (original)
+++ pypy/dist/pypy/rpython/memory/gctransform.py Thu Apr 13 16:05:57 2006
@@ -664,7 +664,7 @@
yield a
-class FrameworkGCTransformer(BoehmGCTransformer):
+class FrameworkGCTransformer(GCTransformer):
def __init__(self, translator):
from pypy.rpython.memory.support import get_address_linked_list
Modified: pypy/dist/pypy/translator/c/gc.py
==============================================================================
--- pypy/dist/pypy/translator/c/gc.py (original)
+++ pypy/dist/pypy/translator/c/gc.py Thu Apr 13 16:05:57 2006
@@ -263,11 +263,22 @@
def pre_pre_gc_code(self):
yield '#define USING_NO_GC'
-# the framework GC policy -- we are very optimistic tonight
-class FrameworkGcPolicy(NoneGcPolicy):
+class FrameworkGcPolicy(BasicGcPolicy):
transformerclass = gctransform.FrameworkGCTransformer
+ def struct_setup(self, structdefnode, rtti):
+ pass
+
+ def array_setup(self, arraydefnode):
+ pass
+
+ def rtti_type(self):
+ return BoehmGcRuntimeTypeInfo_OpaqueNode.typename
+
+ def rtti_node_factory(self):
+ return BoehmGcRuntimeTypeInfo_OpaqueNode
+
def gc_startup_code(self):
fnptr = self.db.gctransformer.frameworkgc_setup_ptr.value
yield '%s();' % (self.db.get(fnptr),)
@@ -292,3 +303,9 @@
break
o = n
return [defnode.db.gctransformer.id_of_type[typeOf(o)] << 1]
+
+ def zero_malloc(self, TYPE, esize, eresult):
+ assert TYPE._gcstatus() # we don't really support this
+ return 'OP_ZERO_MALLOC(%s, %s);' % (esize,
+ eresult)
+
More information about the Pypy-commit
mailing list