[pypy-svn] r78934 - pypy/branch/rlist-jit/pypy/jit/codewriter

arigo at codespeak.net arigo at codespeak.net
Tue Nov 9 18:32:54 CET 2010


Author: arigo
Date: Tue Nov  9 18:32:53 2010
New Revision: 78934

Modified:
   pypy/branch/rlist-jit/pypy/jit/codewriter/jtransform.py
Log:
Kill the special-casing for 'object.lst[n]' where lst is listed
in _immutable_fields_ as 'lst[*]'.  It should be all nicely
handled by annotation in r78933 now.


Modified: pypy/branch/rlist-jit/pypy/jit/codewriter/jtransform.py
==============================================================================
--- pypy/branch/rlist-jit/pypy/jit/codewriter/jtransform.py	(original)
+++ pypy/branch/rlist-jit/pypy/jit/codewriter/jtransform.py	Tue Nov  9 18:32:53 2010
@@ -38,7 +38,6 @@
     def optimize_block(self, block):
         if block.operations == ():
             return
-        self.immutable_arrays = {}
         self.vable_array_vars = {}
         self.vable_flags = {}
         renamings = {}
@@ -533,8 +532,6 @@
                 pure = '_greenfield'
             else:
                 pure = '_pure'
-            if immut == "[*]":
-                self.immutable_arrays[op.result] = True
         else:
             pure = ''
         argname = getattr(v_inst.concretetype.TO, '_gckind', 'gc')
@@ -994,7 +991,7 @@
         v_index, extraop = self._prepare_list_getset(op, arraydescr, args,
                                                      'check_neg_index')
         extra = getkind(op.result.concretetype)[0]
-        if pure or args[0] in self.immutable_arrays:
+        if pure:
             extra = 'pure_' + extra
         op = SpaceOperation('getarrayitem_gc_%s' % extra,
                             [args[0], arraydescr, v_index], op.result)



More information about the Pypy-commit mailing list