| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- weakref.ref and weakref.ReferenceType will become aliases for each
other
- weakref.ref will be a modern, new-style class with proper __new__
and __init__ methods
- weakref.WeakValueDictionary will have a lighter memory footprint,
using a new weakref.ref subclass to associate the key with the
value, allowing us to have only a single object of overhead for each
dictionary entry (currently, there are 3 objects of overhead per
entry: a weakref to the value, a weakref to the dictionary, and a
function object used as a weakref callback; the weakref to the
dictionary could be avoided without this change)
- a new macro, PyWeakref_CheckRefExact(), will be added
- PyWeakref_CheckRef() will check for subclasses of weakref.ref
This closes SF patch #983019.
|
| |
|
|
|
|
|
|
| |
for Py_Main().
Thanks to Kalle Svensson and Skip Montanaro for the patches.
|
| |
|
|
|
|
| |
PyArg_UnpackTuple() function (serves as an example and test case).
|
|
|
|
|
| |
objects. This is now simply a shim to give weakref.py access to the
underlying implementation.
|
| |
|
|
|
|
|
| |
performance changes since the affected functions are not expected to be
used frequently, but reduces the volume of code.
|
|
|
|
| |
void function.
|
|
|
|
|
|
|
|
|
|
|
| |
before calling any callbacks. This is important
since the callback objects only look at themselves
to determine that they are invalide. This change
avoids a segfault when callbacks use a different
reference to an object in the process of being
deallocated.
This fixes SF bug #415660.
|
| |
|
|
|
|
|
|
| |
tracked as soon as it is clear; this can decrease the number of roots for
the cycle detector sooner rather than later in applications which hold on
to weak references beyond the time of the invalidation.
|
| |
|
|
|
|
| |
comments to reflect reality.
|
|
|
|
| |
so make it void.
|
|
|
|
| |
function implementations.
|
| |
|
| |
|
|
|