[pypy-svn] r74709 - pypy/branch/blackhole-improvement/pypy/jit/codewriter

arigo at codespeak.net arigo at codespeak.net
Mon May 24 16:21:06 CEST 2010


Author: arigo
Date: Mon May 24 16:21:05 2010
New Revision: 74709

Modified:
   pypy/branch/blackhole-improvement/pypy/jit/codewriter/jtransform.py
Log:
Fix (see metainterp.test.test_immutable).


Modified: pypy/branch/blackhole-improvement/pypy/jit/codewriter/jtransform.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/codewriter/jtransform.py	(original)
+++ pypy/branch/blackhole-improvement/pypy/jit/codewriter/jtransform.py	Mon May 24 16:21:05 2010
@@ -36,6 +36,7 @@
     def optimize_block(self, block):
         if block.operations == ():
             return
+        self.immutable_arrays = {}
         renamings = {}
         renamings_constants = {}    # subset of 'renamings', {Var:Const} only
         newoperations = []
@@ -802,7 +803,7 @@
         v_index, extraop = self._prepare_list_getset(op, arraydescr, args,
                                                      'check_neg_index')
         extra = getkind(op.result.concretetype)[0]
-        if pure:
+        if pure or args[0] in self.immutable_arrays:
             extra = 'pure_' + extra
         op = SpaceOperation('getarrayitem_gc_%s' % extra,
                             [args[0], arraydescr, v_index], op.result)



More information about the Pypy-commit mailing list