[pypy-svn] r14133 - in pypy/dist/pypy/translator/llvm2: . test
cfbolz at codespeak.net
cfbolz at codespeak.net
Sun Jul 3 14:01:01 CEST 2005
Author: cfbolz
Date: Sun Jul 3 14:01:01 2005
New Revision: 14133
Modified:
pypy/dist/pypy/translator/llvm2/arraynode.py
pypy/dist/pypy/translator/llvm2/funcnode.py
pypy/dist/pypy/translator/llvm2/test/test_genllvm.py
Log:
intermediate checkin
Modified: pypy/dist/pypy/translator/llvm2/arraynode.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/arraynode.py (original)
+++ pypy/dist/pypy/translator/llvm2/arraynode.py Sun Jul 3 14:01:01 2005
@@ -1,12 +1,12 @@
import py
-from pypy.rpython import lltype
+from pypy.rpython import lltype
from pypy.translator.llvm2.log import log
from pypy.translator.llvm2.node import LLVMNode
-log = log.structnode
+log = log.structnode
class ArrayTypeNode(LLVMNode):
- _issetup = False
- def __init__(self, db, array):
+ _issetup = False
+ def __init__(self, db, array):
self.db = db
assert isinstance(array, lltype.ArrayType)
self.array = array
@@ -14,14 +14,14 @@
self.ref = self.ref_template + ".0"
def __str__(self):
- return "<ArrayTypeNode %r>" % self.ref
+ return "<ArrayTypeNode %r>" % self.ref
def setup(self):
self.db.prepare_repr_arg_type(self.array.OF)
self._issetup = True
# ______________________________________________________________________
- # entry points from genllvm
+ # entry points from genllvm
#
def writedatatypedecl(self, codewriter):
codewriter.arraydef(self.ref, self.db.repr_arg_type(self.array.OF))
Modified: pypy/dist/pypy/translator/llvm2/funcnode.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/funcnode.py (original)
+++ pypy/dist/pypy/translator/llvm2/funcnode.py Sun Jul 3 14:01:01 2005
@@ -8,6 +8,7 @@
from pypy.translator.llvm2.log import log
log = log.funcnode
+
class FuncTypeNode(LLVMNode):
func_type_node_counter = 0
@@ -24,11 +25,12 @@
def setup(self):
self.db.prepare_repr_arg_type(self.type_.RESULT)
- self.db.prepare_repr_arg_type(self.type_.ARGS)
+ self.db.prepare_repr_arg_type(args_without_void(self.type_.ARGS))
def writedatatypedecl(self, codewriter):
returntype = self.db.repr_arg_type(self.type_.RESULT)
- inputargtypes = self.db.repr_arg_type_multi(self.type_.ARGS)
+ inputargtypes = self.db.repr_arg_type_multi(
+ args_without_void(self.type_.ARGS))
decl = "%s type %s (%s)*" % (self.ref, returntype,
", ".join(inputargtypes))
codewriter.funcdef(self.ref, returntype, inputargtypes)
@@ -254,16 +256,17 @@
self.codewriter.malloc(targetvar, type)
def malloc_varsize(self, op):
+ XXXXXXXXXXXXXXXXXXXXXX
targetvar = self.db.repr_arg(op.result)
arg_type = op.args[0]
assert (isinstance(arg_type, Constant) and
- isinstance(arg_type.value, lltype.Struct))
- struct_type = self.db.obj2node[arg_type.value].ref
- struct_cons = self.db.obj2node[arg_type.value].new_var_name
+ isinstance(arg_type.value, lltype.Array))
+## struct_type = self.db.obj2node[arg_type.value].ref
+## struct_cons = self.db.obj2node[arg_type.value].new_var_name
argrefs = self.db.repr_arg_multi(op.args[1:])
argtypes = self.db.repr_arg_type_multi(op.args[1:])
- self.codewriter.call(targetvar, struct_type + " *",
- struct_cons, argrefs, argtypes)
+ self.codewriter.call("%example", "type*", "constructor",
+ argrefs, argtypes)
def getfield(self, op):
tmpvar = self.db.repr_tmpvar()
Modified: pypy/dist/pypy/translator/llvm2/test/test_genllvm.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/test/test_genllvm.py (original)
+++ pypy/dist/pypy/translator/llvm2/test/test_genllvm.py Sun Jul 3 14:01:01 2005
@@ -218,7 +218,7 @@
f = compile_function(char_constant, [])
assert f() == 7
-def Xtest_list_getitem():
+def test_list_getitem():
def list_getitem(i):
l = [1,2,i]
return l[i]
More information about the Pypy-commit
mailing list