[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