[pypy-svn] r72857 - in pypy/branch/kill-asm-call/pypy/jit/backend/llsupport: . test

fijal at codespeak.net fijal at codespeak.net
Thu Mar 25 22:38:04 CET 2010


Author: fijal
Date: Thu Mar 25 22:38:02 2010
New Revision: 72857

Modified:
   pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/gc.py
   pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/llmodel.py
   pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/test/test_gc.py
Log:
Pass around rtyper as well


Modified: pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/gc.py
==============================================================================
--- pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/gc.py	(original)
+++ pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/gc.py	Thu Mar 25 22:38:02 2010
@@ -19,8 +19,8 @@
 # ____________________________________________________________
 
 class GcLLDescription(GcCache):
-    def __init__(self, gcdescr, translator=None):
-        GcCache.__init__(self, translator is not None)
+    def __init__(self, gcdescr, translator=None, rtyper=None):
+        GcCache.__init__(self, translator is not None, rtyper)
         self.gcdescr = gcdescr
     def _freeze_(self):
         return True
@@ -41,8 +41,8 @@
     moving_gc = False
     gcrootmap = None
 
-    def __init__(self, gcdescr, translator):
-        GcLLDescription.__init__(self, gcdescr, translator)
+    def __init__(self, gcdescr, translator, rtyper):
+        GcLLDescription.__init__(self, gcdescr, translator, rtyper)
         # grab a pointer to the Boehm 'malloc' function
         from pypy.rpython.tool import rffi_platform
         compilation_info = rffi_platform.configure_boehm()
@@ -327,11 +327,11 @@
 class GcLLDescr_framework(GcLLDescription):
     DEBUG = False    # forced to True by x86/test/test_zrpy_gc.py
 
-    def __init__(self, gcdescr, translator, llop1=llop):
+    def __init__(self, gcdescr, translator, rtyper, llop1=llop):
         from pypy.rpython.memory.gctypelayout import _check_typeid
         from pypy.rpython.memory.gcheader import GCHeaderBuilder
         from pypy.rpython.memory.gctransform import framework
-        GcLLDescription.__init__(self, gcdescr, translator)
+        GcLLDescription.__init__(self, gcdescr, translator, rtyper)
         assert self.translate_support_code, "required with the framework GC"
         self.translator = translator
         self.llop1 = llop1
@@ -611,7 +611,7 @@
 
 # ____________________________________________________________
 
-def get_ll_description(gcdescr, translator=None):
+def get_ll_description(gcdescr, translator=None, rtyper=None):
     # translator is None if translate_support_code is False.
     if gcdescr is not None:
         name = gcdescr.config.translation.gctransformer
@@ -622,4 +622,4 @@
     except KeyError:
         raise NotImplementedError("GC transformer %r not supported by "
                                   "the JIT backend" % (name,))
-    return cls(gcdescr, translator)
+    return cls(gcdescr, translator, rtyper)

Modified: pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/llmodel.py
==============================================================================
--- pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/llmodel.py	(original)
+++ pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/llmodel.py	Thu Mar 25 22:38:02 2010
@@ -31,7 +31,7 @@
             translator = rtyper.annotator.translator
         else:
             translator = None
-        self.gc_ll_descr = get_ll_description(gcdescr, translator)
+        self.gc_ll_descr = get_ll_description(gcdescr, translator, rtyper)
         if translator and translator.config.translation.gcremovetypeptr:
             self.vtable_offset = None
         else:

Modified: pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/test/test_gc.py
==============================================================================
--- pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/test/test_gc.py	(original)
+++ pypy/branch/kill-asm-call/pypy/jit/backend/llsupport/test/test_gc.py	Thu Mar 25 22:38:02 2010
@@ -9,7 +9,7 @@
 
 
 def test_boehm():
-    gc_ll_descr = GcLLDescr_boehm(None, None)
+    gc_ll_descr = GcLLDescr_boehm(None, None, None)
     #
     record = []
     prev_funcptr_for_new = gc_ll_descr.funcptr_for_new
@@ -167,7 +167,8 @@
         gcdescr = get_description(config_)
         translator = FakeTranslator()
         llop1 = FakeLLOp()
-        gc_ll_descr = GcLLDescr_framework(gcdescr, FakeTranslator(), llop1)
+        gc_ll_descr = GcLLDescr_framework(gcdescr, FakeTranslator(), None,
+                                          llop1)
         gc_ll_descr.initialize()
         self.llop1 = llop1
         self.gc_ll_descr = gc_ll_descr



More information about the Pypy-commit mailing list