[pypy-commit] pypy jit-targets: restrict match_by_id to ops in the peeled loop

hakanardo noreply at buildbot.pypy.org
Wed Nov 30 19:49:31 CET 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-targets
Changeset: r50027:8dfc6aebd9b6
Date: 2011-11-30 19:48 +0100
http://bitbucket.org/pypy/pypy/changeset/8dfc6aebd9b6/

Log:	restrict match_by_id to ops in the peeled loop

diff --git a/pypy/module/pypyjit/test_pypy_c/model.py b/pypy/module/pypyjit/test_pypy_c/model.py
--- a/pypy/module/pypyjit/test_pypy_c/model.py
+++ b/pypy/module/pypyjit/test_pypy_c/model.py
@@ -170,12 +170,14 @@
     def _ops_by_id(self, id, include_debug_merge_points=False, opcode=None):
         opcode_name = opcode
         target_opcodes = self.ids[id]
+        loop_ops = self.simple_loop_ops()
         for chunk in self.flatten_chunks():
             opcode = chunk.getopcode()
             if opcode in target_opcodes and (opcode_name is None or
                                              opcode.__class__.__name__ == opcode_name):
                 for op in self._ops_for_chunk(chunk, include_debug_merge_points):
-                    yield op
+                    if op in loop_ops:
+                        yield op
 
     def ops_by_id(self, *args, **kwds):
         return list(self._ops_by_id(*args, **kwds))


More information about the pypy-commit mailing list