[pypy-commit] pypy remove-getfield-pure: Log getfield operations as pure baesd on their descriptor

sbauman pypy.commits at gmail.com
Fri Jan 1 03:32:35 EST 2016


Author: Spenser Andrew Bauman <sabauma at gmail.com>
Branch: remove-getfield-pure
Changeset: r81516:e05d86ae8016
Date: 2016-01-01 03:06 -0500
http://bitbucket.org/pypy/pypy/changeset/e05d86ae8016/

Log:	Log getfield operations as pure baesd on their descriptor

diff --git a/rpython/jit/metainterp/logger.py b/rpython/jit/metainterp/logger.py
--- a/rpython/jit/metainterp/logger.py
+++ b/rpython/jit/metainterp/logger.py
@@ -188,6 +188,7 @@
         else:
             res = ""
         is_guard = op.is_guard()
+        is_pure = ""
         if op.getdescr() is not None:
             descr = op.getdescr()
             if is_guard and self.guard_number:
@@ -195,6 +196,8 @@
                 r = "<Guard0x%x>" % hash
             else:
                 r = self.repr_of_descr(descr)
+            if op.is_getfield() and op.is_always_pure():
+                is_pure = "_pure"
             if args:
                 args += ', descr=' + r
             else:
@@ -204,7 +207,7 @@
                                           for arg in op.getfailargs()]) + ']'
         else:
             fail_args = ''
-        return s_offset + res + op.getopname() + '(' + args + ')' + fail_args
+        return s_offset + res + op.getopname() + is_pure + '(' + args + ')' + fail_args
 
 
     def _log_operations(self, inputargs, operations, ops_offset=None,


More information about the pypy-commit mailing list