[pypy-svn] r27048 - in pypy/dist/pypy/translator/llvm: . pyllvm

ericvrp at codespeak.net ericvrp at codespeak.net
Wed May 10 14:16:47 CEST 2006


Author: ericvrp
Date: Wed May 10 14:16:44 2006
New Revision: 27048

Modified:
   pypy/dist/pypy/translator/llvm/database.py
   pypy/dist/pypy/translator/llvm/funcnode.py
   pypy/dist/pypy/translator/llvm/pyllvm/cc.py
Log:
genllvm is trying to get a free ride on genc's exception transform


Modified: pypy/dist/pypy/translator/llvm/database.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/database.py	(original)
+++ pypy/dist/pypy/translator/llvm/database.py	Wed May 10 14:16:44 2006
@@ -14,6 +14,7 @@
 from pypy.objspace.flow.model import Constant, Variable
 from pypy.rpython.memory.lladdress import NULL
 from pypy.rpython.objectmodel import Symbolic, ComputedIntSymbolic
+from pypy.translator.c.exceptiontransform import ExceptionTransformer
 
 log = log.database 
 
@@ -30,6 +31,11 @@
 
         self.primitives_init()
 
+        if translator is None or translator.rtyper is None:
+            self.exctransformer = None
+        else:
+            self.exctransformer = ExceptionTransformer(translator)
+
     def primitives_init(self):
         primitives = {
             lltype.Char: "sbyte",

Modified: pypy/dist/pypy/translator/llvm/funcnode.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/funcnode.py	(original)
+++ pypy/dist/pypy/translator/llvm/funcnode.py	Wed May 10 14:16:44 2006
@@ -44,6 +44,19 @@
         #from pypy.translator.llvm.backendopt.mergemallocs import merge_mallocs
         #merge_mallocs(self.db.translator, self.graph, self.ref)
 
+        # apply the stackless transformation
+        #if db.stacklesstransformer and do_stackless:
+        #    db.stacklesstransformer.transform_graph(graph)
+
+        # apply the exception transformation
+        #if self.db.exctransformer:
+        #    self.db.exctransformer.create_exception_handling(self.graph)
+
+        # apply the gc transformation
+        #self.db.gctransformer.transform_graph(self.graph)
+
+        #self.graph.show()
+
     def __str__(self):
         return "<FuncNode %r>" %(self.ref,)
     

Modified: pypy/dist/pypy/translator/llvm/pyllvm/cc.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/pyllvm/cc.py	(original)
+++ pypy/dist/pypy/translator/llvm/pyllvm/cc.py	Wed May 10 14:16:44 2006
@@ -8,7 +8,11 @@
         d = __file__[:__file__.find("pyllvm")] + "llvmcapi/"
         #XXX does this load once or every time?
         try:
-            self.library  = cdll.load(d + libname + ".so")
+            if "load" in dir(cdll):
+                cdll_load = cdll.load
+            else:
+                cdll_load = cdll.LoadLibrary
+            self.library  = cdll_load(d + libname + ".so")
         except:
             raise Exception("llvmcapi not found: run 'python setup.py build_ext -i' in " + d)
         self.restype  = restype



More information about the Pypy-commit mailing list