[pypy-commit] pypy default: Optimize out SAME_AS even if OptRewrite is dissabled to prevent unrolling from crashing in that case

hakanardo noreply at buildbot.pypy.org
Sun May 6 10:45:21 CEST 2012


Author: Hakan Ardo <hakan at debian.org>
Branch: 
Changeset: r54905:8f06426c3392
Date: 2012-05-06 10:16 +0200
http://bitbucket.org/pypy/pypy/changeset/8f06426c3392/

Log:	Optimize out SAME_AS even if OptRewrite is dissabled to prevent
	unrolling from crashing in that case

diff --git a/pypy/jit/metainterp/optimizeopt/optimizer.py b/pypy/jit/metainterp/optimizeopt/optimizer.py
--- a/pypy/jit/metainterp/optimizeopt/optimizer.py
+++ b/pypy/jit/metainterp/optimizeopt/optimizer.py
@@ -652,7 +652,11 @@
             arrayvalue.make_len_gt(MODE_UNICODE, op.getdescr(), indexvalue.box.getint())
         self.optimize_default(op)
 
-
+    # These are typically removed already by OptRewrite, but it can be
+    # dissabled and unrolling emits some SAME_AS ops to setup the
+    # optimizier state. These needs to always be optimized out.
+    def optimize_SAME_AS(self, op):
+        self.make_equal_to(op.result, self.getvalue(op.getarg(0)))
 
 
 dispatch_opt = make_dispatcher_method(Optimizer, 'optimize_',


More information about the pypy-commit mailing list