[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