[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