[pypy-svn] jitviewer default: kill storage.py, use the version from the jitlogparser
antocuni
commits-noreply at bitbucket.org
Fri Feb 25 14:59:35 CET 2011
Author: Antonio Cuni <anto.cuni at gmail.com>
Branch:
Changeset: r91:f04731152909
Date: 2011-02-25 14:16 +0100
http://bitbucket.org/pypy/jitviewer/changeset/f04731152909/
Log: kill storage.py, use the version from the jitlogparser
diff --git a/bin/jitviewer.py b/bin/jitviewer.py
--- a/bin/jitviewer.py
+++ b/bin/jitviewer.py
@@ -22,9 +22,9 @@
from pypy.tool.logparser import parse_log_file, extract_category
from _jitviewer.parser import (parse, slice_debug_merge_points, adjust_bridges,
parse_log_counts)
-from _jitviewer.storage import LoopStorage
from _jitviewer.display import CodeRepr, CodeReprNoFile
import _jitviewer
+from pypy.tool.jitlogparser.storage import LoopStorage
from pygments import highlight
from pygments.lexers import PythonLexer
diff --git a/_jitviewer/test/test_parser.py b/_jitviewer/test/test_parser.py
--- a/_jitviewer/test/test_parser.py
+++ b/_jitviewer/test/test_parser.py
@@ -1,10 +1,10 @@
from pypy.jit.metainterp.resoperation import ResOperation, rop
from pypy.jit.metainterp.history import ConstInt, Const
+from pypy.tool.jitlogparser.storage import LoopStorage
from _jitviewer.parser import parse, Bytecode, Function,\
slice_debug_merge_points,\
adjust_bridges, parse_log_counts, cssclass
-from _jitviewer.storage import LoopStorage
import py
def test_parse():
diff --git a/_jitviewer/storage.py b/_jitviewer/storage.py
deleted file mode 100644
--- a/_jitviewer/storage.py
+++ /dev/null
@@ -1,56 +0,0 @@
-
-""" This file represents a storage mechanism that let us invent unique names
-for all loops and bridges, so http requests can refer to them by name
-"""
-
-import os
-from loops import Function, Bytecode
-from module_finder import gather_all_code_objs
-
-class LoopStorage(object):
- def __init__(self, extrapath=None):
- self.loops = None
- self.functions = {}
- self.codes = {}
- self.extrapath = extrapath
-
- def load_code(self, fname):
- try:
- return self.codes[fname]
- except KeyError:
- if os.path.isabs(fname):
- res = gather_all_code_objs(fname)
- else:
- if self.extrapath is None:
- raise IOError("Cannot find %s" % fname)
- res = gather_all_code_objs(os.path.join(self.extrapath, fname))
- self.codes[fname] = res
- return res
-
- def reconnect_loops(self, loops):
- """ Re-connect loops in a way that entry bridges are filtered out
- and normal bridges are associated with guards. Returning list of
- normal loops.
- """
- res = []
- guard_dict = {}
- for loop_no, loop in enumerate(loops):
- for op in loop.operations:
- if op.name.startswith('guard_'):
- guard_dict[int(op.descr[len('<Guard'):-1])] = (op, loop)
- for loop in loops:
- if loop.comment:
- comment = loop.comment.strip()
- if 'entry bridge' in comment:
- pass
- elif comment.startswith('# bridge out of'):
- no = int(comment[len('# bridge out of Guard '):].split(' ', 1)[0])
- op, parent = guard_dict[no]
- op.bridge = loop
- op.percentage = ((getattr(loop, 'count', 1) * 100) /
- max(getattr(parent, 'count', 1), 1))
- loop.no = no
- continue
- res.append(loop)
- self.loops = res
- return res
diff --git a/_jitviewer/test/test_storage.py b/_jitviewer/test/test_storage.py
deleted file mode 100644
--- a/_jitviewer/test/test_storage.py
+++ /dev/null
@@ -1,9 +0,0 @@
-
-import py
-from _jitviewer.storage import LoopStorage
-
-def test_load_codes():
- tmppath = py.test.ensuretemp('load_codes')
- tmppath.join("x.py").write("def f(): pass") # one code
- s = LoopStorage(str(tmppath))
- assert s.load_code(str(tmppath.join('x.py'))) == s.load_code('x.py')
More information about the Pypy-commit
mailing list