[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