Author: Armin Rigo <[email protected]>
Branch:
Changeset: r71101:5084e653283f
Date: 2014-04-30 21:03 +0200
http://bitbucket.org/pypy/pypy/changeset/5084e653283f/
Log: Kill the jit.elidable_promote() here. One remaining issue left in
the jit code.
diff --git a/pypy/module/_lsprof/interp_lsprof.py
b/pypy/module/_lsprof/interp_lsprof.py
--- a/pypy/module/_lsprof/interp_lsprof.py
+++ b/pypy/module/_lsprof/interp_lsprof.py
@@ -189,25 +189,24 @@
subentry._stop(tt, it)
[email protected]_promote()
def create_spec_for_method(space, w_function, w_type):
- w_function = w_function
+ class_name = None
if isinstance(w_function, Function):
name = w_function.name
+ # try to get the real class that defines the method,
+ # which is a superclass of the class of the instance
+ from pypy.objspace.std.typeobject import W_TypeObject # xxx
+ if isinstance(w_type, W_TypeObject):
+ w_realclass, _ = space.lookup_in_type_where(w_type, name)
+ if isinstance(w_realclass, W_TypeObject):
+ class_name = w_realclass.get_module_type_name()
else:
name = '?'
- # try to get the real class that defines the method,
- # which is a superclass of the class of the instance
- from pypy.objspace.std.typeobject import W_TypeObject # xxx
- class_name = w_type.getname(space) # if the rest doesn't work
- if isinstance(w_type, W_TypeObject) and name != '?':
- w_realclass, _ = space.lookup_in_type_where(w_type, name)
- if isinstance(w_realclass, W_TypeObject):
- class_name = w_realclass.get_module_type_name()
+ if class_name is None:
+ class_name = w_type.getname(space) # if the rest doesn't work
return "{method '%s' of '%s' objects}" % (name, class_name)
[email protected]_promote()
def create_spec_for_function(space, w_func):
if w_func.w_module is None:
module = ''
@@ -220,7 +219,6 @@
return '{%s%s}' % (module, w_func.name)
[email protected]_promote()
def create_spec_for_object(space, w_obj):
class_name = space.type(w_obj).getname(space)
return "{'%s' object}" % (class_name,)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit