[pypy-svn] r25486 - pypy/dist/pypy/rpython/memory

cfbolz at codespeak.net cfbolz at codespeak.net
Fri Apr 7 12:04:53 CEST 2006


Author: cfbolz
Date: Fri Apr  7 12:04:52 2006
New Revision: 25486

Modified:
   pypy/dist/pypy/rpython/memory/gctransform.py
Log:
hum. revert some of my last checkin, to make test_database.py happy. there needs to be some cleanup, but not now :-(


Modified: pypy/dist/pypy/rpython/memory/gctransform.py
==============================================================================
--- pypy/dist/pypy/rpython/memory/gctransform.py	(original)
+++ pypy/dist/pypy/rpython/memory/gctransform.py	Fri Apr  7 12:04:52 2006
@@ -41,8 +41,11 @@
         self.graphs_to_inline = {}
 
     def get_lltype_of_exception_value(self):
-        exceptiondata = self.translator.rtyper.getexceptiondata()
-        return exceptiondata.lltype_of_exception_value
+        if self.translator is not None:
+            exceptiondata = self.translator.rtyper.getexceptiondata()
+            return exceptiondata.lltype_of_exception_value
+        else:
+            return lltype.Ptr(lltype.PyObject)
 
     def need_minimal_transform(self, graph):
         self.seen_graphs[graph] = True
@@ -235,7 +238,8 @@
 
     def finish(self):
         self.finished = True
-        self.mixlevelannotator.finish()
+        if self.translator is not None:
+            self.mixlevelannotator.finish()
 
 class MinimalGCTransformer(GCTransformer):
     def push_alive(self, var):
@@ -311,13 +315,14 @@
                     dealloc(adr)
         def ll_no_pointer_dealloc(adr):
             llop.gc_free(lltype.Void, adr)
-        self.increfptr = self.inittime_helper(
-            ll_incref, [llmemory.Address], lltype.Void)
-        self.decref_ptr = self.inittime_helper(
-            ll_decref, [llmemory.Address, lltype.Ptr(ADDRESS_VOID_FUNC)],
-            lltype.Void)
-        self.no_pointer_dealloc_ptr = self.inittime_helper(
-            ll_no_pointer_dealloc, [llmemory.Address], lltype.Void)
+        if self.translator:
+            self.increfptr = self.inittime_helper(
+                ll_incref, [llmemory.Address], lltype.Void)
+            self.decref_ptr = self.inittime_helper(
+                ll_decref, [llmemory.Address, lltype.Ptr(ADDRESS_VOID_FUNC)],
+                lltype.Void)
+            self.no_pointer_dealloc_ptr = self.inittime_helper(
+                ll_no_pointer_dealloc, [llmemory.Address], lltype.Void)
         # cache graphs:
         self.decref_funcptrs = {}
         self.static_deallocator_funcptrs = {}



More information about the Pypy-commit mailing list