[pypy-svn] r18382 - pypy/dist/pypy/translator/js
ericvrp at codespeak.net
ericvrp at codespeak.net
Tue Oct 11 12:20:25 CEST 2005
Author: ericvrp
Date: Tue Oct 11 12:20:24 2005
New Revision: 18382
Removed:
pypy/dist/pypy/translator/js/varsize.py
Modified:
pypy/dist/pypy/translator/js/arraynode.py
pypy/dist/pypy/translator/js/structnode.py
Log:
Added varsize array constructor.
[57 passed, 106 failed]
Modified: pypy/dist/pypy/translator/js/arraynode.py
==============================================================================
--- pypy/dist/pypy/translator/js/arraynode.py (original)
+++ pypy/dist/pypy/translator/js/arraynode.py Tue Oct 11 12:20:24 2005
@@ -1,7 +1,6 @@
import py
from pypy.rpython import lltype
from pypy.translator.js.node import LLVMNode, ConstantLLVMNode
-from pypy.translator.js import varsize
from pypy.translator.js.log import log
log = log.structnode
@@ -28,8 +27,7 @@
name += str(arraytype)
self.ref = self.make_ref('arraytype_', name)
- self.constructor_ref = self.make_ref('new_array_', name)
- #self.constructor_decl = "%s * %s(%s %%len)" % \
+ self.constructor_ref = 'new Array'
self.constructor_decl = "%s(len)" % self.constructor_ref
def __str__(self):
@@ -50,12 +48,6 @@
# declaration for constructor
codewriter.declare(self.constructor_decl)
- def writeimpl(self, codewriter):
- log.writeimpl(self.ref)
- varsize.write_constructor(self.db, codewriter, self.ref,
- self.constructor_decl,
- self.array)
-
class VoidArrayTypeNode(LLVMNode):
__slots__ = "db array ref".split()
Modified: pypy/dist/pypy/translator/js/structnode.py
==============================================================================
--- pypy/dist/pypy/translator/js/structnode.py (original)
+++ pypy/dist/pypy/translator/js/structnode.py Tue Oct 11 12:20:24 2005
@@ -1,6 +1,5 @@
import py
from pypy.translator.js.node import LLVMNode, ConstantLLVMNode
-from pypy.translator.js import varsize
from pypy.rpython import lltype
from pypy.translator.js.log import log
@@ -42,7 +41,7 @@
def __init__(self, db, struct):
super(StructVarsizeTypeNode, self).__init__(db, struct)
- prefix = '%new.varsizestruct.'
+ prefix = 'new_varsizestruct_'
self.constructor_ref = self.make_ref(prefix, self.name)
self.constructor_decl = "%s * %s(int %%len)" % \
(self.ref,
@@ -71,12 +70,6 @@
name = current._names_without_voids()[-1]
current = current._flds[name]
assert isinstance(current, lltype.Array)
- varsize.write_constructor(self.db,
- codewriter,
- self.ref,
- self.constructor_decl,
- current,
- indices_to_array)
class StructNode(ConstantLLVMNode):
""" A struct constant. Can simply contain
More information about the Pypy-commit
mailing list