[pypy-svn] r63893 - pypy/branch/oo-jit/pypy/jit/codegen/cli

antocuni at codespeak.net antocuni at codespeak.net
Thu Apr 9 15:55:55 CEST 2009


Author: antocuni
Date: Thu Apr  9 15:55:49 2009
New Revision: 63893

Modified:
   pypy/branch/oo-jit/pypy/jit/codegen/cli/operation.py
Log:
debug aid that have been living in my working copy for ages


Modified: pypy/branch/oo-jit/pypy/jit/codegen/cli/operation.py
==============================================================================
--- pypy/branch/oo-jit/pypy/jit/codegen/cli/operation.py	(original)
+++ pypy/branch/oo-jit/pypy/jit/codegen/cli/operation.py	Thu Apr  9 15:55:49 2009
@@ -38,6 +38,9 @@
     def storeExcFlag(self):
         self.gv_excflag().store(self.meth)
 
+    def getname(self):
+        return None
+
 
 class UnaryOp(Operation):
     def __init__(self, meth, gv_x):
@@ -48,6 +51,9 @@
         self.gv_x.load(self.meth)
 
     def emit(self):
+        name = self.getname()
+        if name is not None:
+            self.meth.il.EmitWriteLine(name)
         self.pushAllArgs()
         self.meth.il.Emit(self.getOpCode())
         self.storeResult()
@@ -66,6 +72,9 @@
         self.gv_y.load(self.meth)
 
     def emit(self):
+        name = self.getname()
+        if name is not None:
+            self.meth.il.EmitWriteLine(name)
         self.pushAllArgs()
         self.meth.il.Emit(self.getOpCode())
         self.storeResult()
@@ -433,12 +442,18 @@
         out[opname].restype = globals()[funcname]
 
 
+TRACE_OPERATIONS=False
+
 def renderSimpleOp(baseclass, opname, value, out):
     attrname = opcode2attrname(value)
     source = py.code.Source("""
     class %(opname)s (%(baseclass)s):
         def getOpCode(self):
             return OpCodes.%(attrname)s
+
+        if TRACE_OPERATIONS:
+            def getname(self):
+                return "%(opname)s"
     """ % locals())
     code = source.compile()
     exec code in globals(), out



More information about the Pypy-commit mailing list