| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Issue #26530:
* Add C functions _PyTraceMalloc_Track() and _PyTraceMalloc_Untrack() to track
memory blocks using the tracemalloc module.
* Add _PyTraceMalloc_GetTraceback() to get the traceback of an object.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue #26588:
* The _tracemalloc now supports tracing memory allocations of multiple address
spaces (domains).
* Add domain parameter to tracemalloc_add_trace() and
tracemalloc_remove_trace().
* tracemalloc_add_trace() now starts by removing the previous trace, if any.
* _tracemalloc._get_traces() now returns a list of (domain, size,
traceback_frames): the domain is new.
* Add tracemalloc.DomainFilter
* tracemalloc.Filter: add an optional domain parameter to the constructor and a
domain attribute
* Sublte change: use Py_uintptr_t rather than void* in the traces key.
* Add tracemalloc_config.use_domain, currently hardcoded to 1
|
|
|
|
|
|
| |
Issue #26588: Remove _Py_hashtable_delete() from hashtable.h since the function
is not used. Keep the C code in hashtable.c as commented code if someone needs
it later.
|
|
|
|
|
|
|
|
|
|
|
| |
Issue #26588: Remove copy_data, free_data and get_data_size callbacks from
hashtable.h. These callbacks are not used in Python and makes the code more
complex.
Remove also the _Py_HASHTABLE_ENTRY_DATA_AS_VOID_P() macro which uses an unsafe
pointer dereference (can cause memory alignment issue). Replace the macro usage
with _Py_HASHTABLE_ENTRY_READ_DATA() which is implemented with the safe
memcpy() function.
|
|\ |
|
| | |
|
|\ \
| |/ |
|
| |\ |
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Issue #26588: hashtable.h now supports keys of any size, not only
sizeof(void*). It allows to support key larger than sizeof(void*), but also to
use less memory for key smaller than sizeof(void*).
|
| | |
| | |
| | |
| | | |
casting iobase_finalize to destructor is not needed
|
| | |
| | |
| | |
| | |
| | |
| | | |
Issue #26590: support.check_warnings() stores warnins, but ResourceWarning now
comes with a reference to the socket object which indirectly keeps the socket
alive.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Issue #26590: Implement a safe finalizer for the _socket.socket type. It now
releases the GIL to close the socket. Use PyErr_ResourceWarning() to raise the
ResourceWarning to pass the socket object to the warning logger, to get the
traceback where the socket was created (allocated).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change pushed by mistake, the patch is still under review :-/
"""
_tracemalloc: add domain to trace keys
* hashtable.h: key has now a variable size
* _tracemalloc uses (pointer: void*, domain: unsigned int) as key for traces
"""
|
| | |
| | |
| | |
| | |
| | | |
Issue #26574: Optimize bytes.replace(b'', b'.') and
bytearray.replace(b'', b'.'): up to 80% faster. Patch written by Josh Snider.
|
| | |
| | |
| | |
| | |
| | | |
* hashtable.h: key has now a variable size
* _tracemalloc uses (pointer: void*, domain: unsigned int) as key for traces
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | | |
encoding.
|
| | | |
|
|\ \ \
| |/ /
| | |
| | | |
uuid.uuid4() always uses os.urandom() after 756d040aa8e8.
|
| | |
| | |
| | |
| | | |
uuid.uuid4() always uses os.urandom() after 756d040aa8e8.
|
|\ \ \
| |/ /
| | |
| | | |
Patch by jgauthier.
|
| | |
| | |
| | |
| | | |
Patch by jgauthier.
|
|\ \ \
| |/ /
| | |
| | | |
Patch by Andrew Szeto.
|
| | |
| | |
| | |
| | | |
Patch by Andrew Szeto.
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Without the patch, line 1010 of Lib/datetime.py wasn't covered
by the test suite.
Patch by Colin Williams.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Without the patch, line 1010 of Lib/datetime.py wasn't covered
by the test suite.
Patch by Colin Williams.
|
| | |
| | |
| | |
| | | |
doesn't have privileges.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Issue #26567: normalize newlines in test_tracemalloc.
|
|\ \ \
| |/ /
| | |
| | | |
Initial patch by Peter Inglesby.
|
| | |
| | |
| | |
| | | |
Initial patch by Peter Inglesby.
|
| | |
| | |
| | |
| | | |
Issue #26567.
|
| | |
| | |
| | |
| | | |
io.FileIO has a safe implementation of destructor, but not socket nor scandir.
|
| | |
| | |
| | |
| | |
| | | |
Issue #26568: Fix implementation of showwarning() and formatwarning() for
test_logging.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Issue #26567:
* Add a new function PyErr_ResourceWarning() function to pass the destroyed
object
* Add a source attribute to warnings.WarningMessage
* Add warnings._showwarnmsg() which uses tracemalloc to get the traceback where
source object was allocated.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Issue #26568: add new _showwarnmsg() and _formatwarnmsg() functions to the
warnings module.
The C function warn_explicit() now calls warnings._showwarnmsg() with a
warnings.WarningMessage as parameter, instead of calling warnings.showwarning()
with multiple parameters.
_showwarnmsg() calls warnings.showwarning() if warnings.showwarning() was
replaced. Same for _formatwarnmsg(): call warnings.formatwarning() if it was
replaced.
|
|\ \ \
| |/ / |
|
| | | |
|
| | | |
|
|\ \ \
| |/ / |
|