Author: Alex Gaynor <[email protected]>
Branch:
Changeset: r68623:e50bdf0e8179
Date: 2014-01-12 09:44 -0800
http://bitbucket.org/pypy/pypy/changeset/e50bdf0e8179/
Log: Move dont_look_insides around to expose more mapdict logic to the
JIT
diff --git a/pypy/module/_weakref/interp__weakref.py
b/pypy/module/_weakref/interp__weakref.py
--- a/pypy/module/_weakref/interp__weakref.py
+++ b/pypy/module/_weakref/interp__weakref.py
@@ -52,6 +52,7 @@
# weakref callbacks are not invoked eagerly here. They are
# invoked by self.__del__() anyway.
+ @jit.dont_look_inside
def get_or_make_weakref(self, w_subtype, w_obj):
space = self.space
w_weakreftype = space.gettypeobject(W_Weakref.typedef)
@@ -70,6 +71,7 @@
self.append_wref_to(w_ref)
return w_ref
+ @jit.dont_look_inside
def get_or_make_proxy(self, w_obj):
space = self.space
if self.cached_proxy is not None:
@@ -130,6 +132,7 @@
self.append_wref_to(w_ref)
return w_ref
+ @jit.dont_look_inside
def make_proxy_with_callback(self, w_obj, w_callable):
space = self.space
if space.is_true(space.callable(w_obj)):
@@ -240,7 +243,7 @@
w_obj.setweakref(space, lifeline)
return lifeline
[email protected]_look_inside
+
def get_or_make_weakref(space, w_subtype, w_obj):
return getlifeline(space, w_obj).get_or_make_weakref(w_subtype, w_obj)
@@ -314,15 +317,16 @@
w_obj = force(space, self)
return space.call_args(w_obj, __args__)
[email protected]_look_inside
+
def get_or_make_proxy(space, w_obj):
return getlifeline(space, w_obj).get_or_make_proxy(w_obj)
[email protected]_look_inside
+
def make_proxy_with_callback(space, w_obj, w_callable):
lifeline = getlifelinewithcallbacks(space, w_obj)
return lifeline.make_proxy_with_callback(w_obj, w_callable)
+
def proxy(space, w_obj, w_callable=None):
"""Create a proxy object that weakly references 'obj'.
'callback', if given, is called with the proxy as an argument when 'obj'
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit