[pypy-svn] pypy default: kill all the html-related features
antocuni
commits-noreply at bitbucket.org
Fri Feb 18 13:54:49 CET 2011
Author: Antonio Cuni <anto.cuni at gmail.com>
Branch:
Changeset: r42159:9a4c1a56401e
Date: 2011-02-18 13:31 +0100
http://bitbucket.org/pypy/pypy/changeset/9a4c1a56401e/
Log: kill all the html-related features
diff --git a/pypy/tool/jitlogparser/test/test_parser.py b/pypy/tool/jitlogparser/test/test_parser.py
--- a/pypy/tool/jitlogparser/test/test_parser.py
+++ b/pypy/tool/jitlogparser/test/test_parser.py
@@ -1,8 +1,7 @@
from pypy.jit.metainterp.resoperation import ResOperation, rop
from pypy.jit.metainterp.history import ConstInt, Const
from pypy.tool.jitlogparser.parser import parse, Bytecode, Function,\
- slice_debug_merge_points,\
- adjust_bridges, cssclass
+ slice_debug_merge_points, adjust_bridges
from pypy.tool.jitlogparser.storage import LoopStorage
import py
@@ -19,10 +18,9 @@
assert ops[1].name == 'guard_true'
assert ops[1].descr is not None
assert ops[0].res == 'i9'
- assert ops[0].html_repr().plaintext() == 'i9 = i7 < 1003'
+ assert ops[0].repr() == 'i9 = int_lt(i7, 1003)'
assert ops[2].descr is not None
assert len(ops[2].args) == 1
- assert ops[2].html_repr().plaintext() == 'i13 = ((pypysig_long_struct)151937600).value'
def test_parse_non_code():
ops = parse('''
@@ -31,7 +29,7 @@
''')
res = slice_debug_merge_points(ops.operations, LoopStorage())
assert len(res.chunks) == 1
- assert res.chunks[0].html_repr()
+ assert res.chunks[0].repr()
def test_split():
ops = parse('''
@@ -177,16 +175,3 @@
ops = slice_debug_merge_points(loop.operations, LoopStorage())
chunk = ops.chunks[0]
assert chunk.bytecode_name == 'StrLiteralSearch'
-
-
-def test_highlight_var():
- ops = parse('''
- [p0]
- guard_class(p0, 144264192, descr=<Guard0>)
- ''').operations
- assert len(ops) == 1
- op = ops[0]
- assert op.name == 'guard_class'
- html = op.html_repr()
- p0 = cssclass('p0', 'p0', onmouseover="highlight_var(this)", onmouseout="disable_var(this)")
- assert p0 in html
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,33 +3,6 @@
from pypy.jit.metainterp.resoperation import rop, opname
from pypy.jit.tool.oparser import OpParser
-class Html(str):
- def __html__(self):
- return self
-
- def plaintext(self):
- # This is not a general way to strip tags, but it's good enough to use
- # in tests
- import re
- s = re.sub('<.*?>', '', self)
- s = s.replace("<", "<")
- s = s.replace(">", ">")
- s = s.replace("&", "&")
- return s
-
-
-def cssclass(cls, s, **kwds):
- attrs = ['%s="%s"' % (name, value) for name, value in kwds.iteritems()]
- return '<span class="%s" %s>%s</span>' % (cls, ' '.join(attrs), s)
-
-
-def _new_binop(name):
- import cgi
- name = cgi.escape(name)
- def f(self):
- return '%s = %s %s %s' % (self.getres(), self.getarg(0), name, self.getarg(1))
- return f
-
class Op(object):
bridge = None
@@ -45,12 +18,6 @@
def setfailargs(self, _):
pass
- def html_repr(self):
- s = getattr(self, 'repr_' + self.name, self.generic_repr)()
- if self.is_guard():
- s = '<span class="guard">guard</span>(' + s + ')'
- return Html(s)
-
def getarg(self, i):
return self._getvar(self.args[i])
@@ -61,69 +28,12 @@
return self._getvar(self.res)
def _getvar(self, v):
- return cssclass(v, v, onmouseover='highlight_var(this)', onmouseout='disable_var(this)')
+ return v
def is_guard(self):
return self._is_guard
- for bin_op, name in [('==', 'int_eq'),
- ('!=', 'int_ne'),
- ('==', 'float_eq'),
- ('!=', 'float_ne'),
- ('>', 'int_gt'),
- ('<', 'int_lt'),
- ('<=', 'int_le'),
- ('>=', 'int_ge'),
- ('+', 'int_add'),
- ('+', 'float_add'),
- ('-', 'int_sub'),
- ('-', 'float_sub'),
- ('*', 'int_mul'),
- ('*', 'float_mul'),
- ('&', 'int_and')]:
- locals()['repr_' + name] = _new_binop(bin_op)
-
- def repr_guard_true(self):
- return '%s is true' % self.getarg(0)
-
- def repr_guard_false(self):
- return '%s is false' % self.getarg(0)
-
- def repr_guard_value(self):
- return '%s is %s' % (self.getarg(0), self.getarg(1))
-
- def repr_guard_isnull(self):
- return '%s is null' % self.getarg(0)
-
- def repr_getfield_raw(self):
- name, field = self.descr.split(' ')[1].rsplit('.', 1)
- return '%s = ((%s)%s).%s' % (self.getres(), name, self.getarg(0), field[2:])
-
- def repr_getfield_gc(self):
- fullname, field = self.descr.split(' ')[1].rsplit('.', 1)
- names = fullname.rsplit('.', 1)
- if len(names) == 2:
- namespace, classname = names
- else:
- namespace = ''
- classname = names[0]
- namespace = cssclass('namespace', namespace)
- classname = cssclass('classname', classname)
- field = cssclass('fieldname', field)
-
- obj = self.getarg(0)
- return '%s = ((%s.%s)%s).%s' % (self.getres(), namespace, classname, obj, field)
- repr_getfield_gc_pure = repr_getfield_gc
-
- def repr_setfield_raw(self):
- name, field = self.descr.split(' ')[1].rsplit('.', 1)
- return '((%s)%s).%s = %s' % (name, self.getarg(0), field[2:], self.getarg(1))
-
- def repr_setfield_gc(self):
- name, field = self.descr.split(' ')[1].rsplit('.', 1)
- return '((%s)%s).%s = %s' % (name, self.getarg(0), field, self.getarg(1))
-
- def generic_repr(self):
+ def repr(self):
arglist = ', '.join(self.getargs())
if self.res is not None:
return '%s = %s(%s)' % (self.getres(), self.name, arglist)
@@ -209,14 +119,6 @@
def pretty_print(self, out):
pass
- def html_repr(self):
- if self.filename is not None:
- code = self.getcode()
- opcode = self.code.map[self.bytecode_no]
- return '%s %s' % (self.bytecode_name, opcode.argstr)
- else:
- return self.bytecode_name
-
class Function(object):
filename = None
name = None
@@ -266,9 +168,6 @@
maxline = 0
self._linerange = minline, maxline
- def html_repr(self):
- return "inlined call to %s in %s" % (self.name, self.filename)
-
def repr(self):
if self.filename is None:
return "Unknown"
More information about the Pypy-commit
mailing list