[pypy-commit] pypy jit-label-counters: use copies of the original trace instead of Part objects

hakanardo noreply at buildbot.pypy.org
Sun Dec 25 11:02:16 CET 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-label-counters
Changeset: r50850:093150a1f76e
Date: 2011-12-25 11:01 +0100
http://bitbucket.org/pypy/pypy/changeset/093150a1f76e/

Log:	use copies of the original trace instead of Part objects

diff --git a/pypy/tool/jitlogparser/parser.py b/pypy/tool/jitlogparser/parser.py
--- a/pypy/tool/jitlogparser/parser.py
+++ b/pypy/tool/jitlogparser/parser.py
@@ -3,6 +3,7 @@
 from pypy.jit.metainterp.resoperation import opname
 from pypy.jit.tool.oparser import OpParser
 from pypy.tool.logparser import parse_log_file, extract_category
+from copy import copy
 
 class Op(object):
     bridge = None
@@ -387,14 +388,6 @@
         loops.append(loop)
     return log, loops
 
-class Part(object):
-    def __init__(self, trace, operations):
-        self.trace = trace
-        self.operations = operations
-
-    def __len___(self):
-        return len(self.operations)
-
 def split_trace(trace):
     labels = [i for i, op in enumerate(trace.operations)
               if op.name == 'label']
@@ -402,7 +395,9 @@
     parts = []
     for i in range(len(labels) - 1):
         start, stop = labels[i], labels[i+1]
-        parts.append(Part(trace, trace.operations[start : stop + 1]))
+        part = copy(trace)
+        part.operations = trace.operations[start : stop + 1]
+        parts.append(part)
     
     return parts
 


More information about the pypy-commit mailing list