[pypy-commit] extradoc extradoc: consider some more operations as get/set, consider uint operations as numeric
bivab
noreply at buildbot.pypy.org
Fri Jul 27 10:23:07 CEST 2012
Author: David Schneider <david.schneider at picle.org>
Branch: extradoc
Changeset: r4377:a21f03c85912
Date: 2012-07-26 22:07 +0200
http://bitbucket.org/pypy/extradoc/changeset/a21f03c85912/
Log: consider some more operations as get/set, consider uint operations
as numeric and print an overview of the operations considered "rest"
at the end
diff --git a/talk/vmil2012/tool/difflogs.py b/talk/vmil2012/tool/difflogs.py
--- a/talk/vmil2012/tool/difflogs.py
+++ b/talk/vmil2012/tool/difflogs.py
@@ -16,19 +16,27 @@
from pypy.rpython.lltypesystem import llmemory, lltype
categories = {
- 'setfield_gc': 'set',
- 'setarrayitem_gc': 'set',
- 'strsetitem': 'set',
+ 'getarrayitem_gc': 'get',
+ 'getarrayitem_gc_pure': 'get',
+ 'getarrayitem_raw': 'get',
'getfield_gc': 'get',
'getfield_gc_pure': 'get',
- 'getarrayitem_gc': 'get',
- 'getarrayitem_gc_pure': 'get',
- 'strgetitem': 'get',
+ 'getfield_raw': 'get',
+ 'getinteriorfield_gc': 'get',
'new': 'new',
'new_array': 'new',
+ 'new_with_vtable': 'new',
'newstr': 'new',
- 'new_with_vtable': 'new',
+ 'newunicode': 'new',
+ 'setarrayitem_gc': 'set',
+ 'setarrayitem_raw': 'set',
+ 'setfield_gc': 'set',
+ 'setfield_raw': 'set',
+ 'setinteriorfield_gc': 'set',
+ 'strgetitem': 'get',
+ 'strsetitem': 'set',
}
+rest_op_bucket = set()
all_categories = 'new get set guard numeric rest'.split()
@@ -58,12 +66,17 @@
else:
assert categories.get(opname, "rest") == "get"
continue
- if opname.startswith("int_") or opname.startswith("float_"):
+ if(opname.startswith("int_")
+ or opname.startswith("float_")
+ or opname.startswith('uint_')):
opname = "numeric"
elif opname.startswith("guard_"):
opname = "guard"
else:
- opname = categories.get(opname, 'rest')
+ _opname = categories.get(opname, 'rest')
+ if _opname == 'rest':
+ rest_op_bucket.add(opname)
+ opname = _opname
insns[opname] = insns.get(opname, 0) + 1
assert seen_label
return insns
@@ -178,3 +191,8 @@
sys.exit(2)
else:
main(args[0], options)
+ if len(rest_op_bucket):
+ print "=" * 80
+ print "Elements considered as rest"
+ for x in sorted(rest_op_bucket):
+ print x
More information about the pypy-commit
mailing list