[pypy-commit] pypy reverse-debugger: a nicer get_printable_location

cfbolz pypy.commits at gmail.com
Mon Aug 1 12:08:11 EDT 2016


Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: reverse-debugger
Changeset: r85958:fa384c882956
Date: 2016-07-14 10:44 +0200
http://bitbucket.org/pypy/pypy/changeset/fa384c882956/

Log:	a nicer get_printable_location

diff --git a/rpython/jit/tl/tla/tla.py b/rpython/jit/tl/tla/tla.py
--- a/rpython/jit/tl/tla/tla.py
+++ b/rpython/jit/tl/tla/tla.py
@@ -60,19 +60,34 @@
 
 # ____________________________________________________________
 
-CONST_INT = 1
-POP       = 2
-ADD       = 3
-RETURN    = 4
-JUMP_IF   = 5
-DUP       = 6
-SUB       = 7
-NEWSTR    = 8
+OPNAMES = []
+HASARG = []
+
+def define_op(name, has_arg=False):
+    globals()[name] = len(OPNAMES)
+    OPNAMES.append(name)
+    HASARG.append(has_arg)
+
+define_op("CONST_INT", True)
+define_op("POP")
+define_op("ADD")
+define_op("RETURN")
+define_op("JUMP_IF", True)
+define_op("DUP")
+define_op("SUB")
+define_op("NEWSTR", True)
+
 
 # ____________________________________________________________
 
 def get_printable_location(pc, bytecode):
-    return str(pc)
+    op = ord(bytecode[pc])
+    name = OPNAMES[op]
+    if HASARG[op]:
+        arg = str(ord(bytecode[pc + 1]))
+    else:
+        arg = ''
+    return "%s: %s %s" % (pc, name, arg)
 
 jitdriver = JitDriver(greens=['pc', 'bytecode'],
                       reds=['self'],


More information about the pypy-commit mailing list