[pypy-svn] pypy jit-short_from_state: dont overwrite to make pure_operations match emitted_pure_operations as closely as possible

hakanardo commits-noreply at bitbucket.org
Mon Apr 25 10:37:16 CEST 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-short_from_state
Changeset: r43546:3f32bdbea460
Date: 2011-04-24 20:17 +0200
http://bitbucket.org/pypy/pypy/changeset/3f32bdbea460/

Log:	dont overwrite to make pure_operations match emitted_pure_operations
	as closely as possible

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
@@ -264,7 +264,9 @@
 
     def pure(self, opnum, args, result):
         op = ResOperation(opnum, args, result)
-        self.optimizer.pure_operations[self.optimizer.make_args_key(op)] = op
+        key = self.optimizer.make_args_key(op)
+        if key not in self.optimizer.pure_operations:
+            self.optimizer.pure_operations[key] = op
 
     def has_pure_result(self, opnum, args, descr):
         op = ResOperation(opnum, args, None)


More information about the Pypy-commit mailing list