[pypy-svn] r69280 - pypy/trunk/pypy/rpython
fijal at codespeak.net
fijal at codespeak.net
Sat Nov 14 14:39:45 CET 2009
Author: fijal
Date: Sat Nov 14 14:39:44 2009
New Revision: 69280
Modified:
pypy/trunk/pypy/rpython/normalizecalls.py
pypy/trunk/pypy/rpython/rpbc.py
Log:
(arigo, fijal) Improve speec of jitting by not looping over all
callfamilies (1/2)
Modified: pypy/trunk/pypy/rpython/normalizecalls.py
==============================================================================
--- pypy/trunk/pypy/rpython/normalizecalls.py (original)
+++ pypy/trunk/pypy/rpython/normalizecalls.py Sat Nov 14 14:39:44 2009
@@ -14,8 +14,12 @@
def normalize_call_familes(annotator):
for callfamily in annotator.bookkeeper.pbc_maximal_call_families.infos():
+ if not callfamily.modified:
+ assert callfamily.normalized
+ continue
normalize_calltable(annotator, callfamily)
callfamily.normalized = True
+ callfamily.modified = False
def normalize_calltable(annotator, callfamily):
"""Try to normalize all rows of a table."""
Modified: pypy/trunk/pypy/rpython/rpbc.py
==============================================================================
--- pypy/trunk/pypy/rpython/rpbc.py (original)
+++ pypy/trunk/pypy/rpython/rpbc.py Sat Nov 14 14:39:44 2009
@@ -484,7 +484,8 @@
try:
thisattrvalue = frozendesc.attrcache[attr]
except KeyError:
- warning("Desc %r has no attribute %r" % (frozendesc, attr))
+ if not frozendesc.has_attribute(attr):
+ warning("Desc %r has no attribute %r" % (frozendesc, attr))
continue
llvalue = r_value.convert_const(thisattrvalue)
setattr(result, mangled_name, llvalue)
More information about the Pypy-commit
mailing list