<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Modules/_tracemalloc.c, branch enum-lost-fixes</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/'/>
<entry>
<title>[3.10] Fix typos in the Modules directory (GH-28761) (GH-28781)</title>
<updated>2021-10-07T08:55:18+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2021-10-07T08:55:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=5afc5bb45d614ea4a512e257b6b60e4f98185043'/>
<id>5afc5bb45d614ea4a512e257b6b60e4f98185043</id>
<content type='text'>
(cherry picked from commit dd02a696e55b450413e765e698e653d781ca4205)


Co-authored-by: Christian Clauss &lt;cclauss@me.com&gt;

Automerge-Triggered-By: GH:gpshead</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit dd02a696e55b450413e765e698e653d781ca4205)


Co-authored-by: Christian Clauss &lt;cclauss@me.com&gt;

Automerge-Triggered-By: GH:gpshead</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-41995: Fix null ptr deref in tracemalloc_copy_trace() (GH-22660)</title>
<updated>2020-10-13T06:46:31+00:00</updated>
<author>
<name>Yunlongs</name>
<email>lylgood@foxmail.com</email>
</author>
<published>2020-10-13T06:46:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=66c28f50c76e4f23af7146e0e580457c5fd6bde7'/>
<id>66c28f50c76e4f23af7146e0e580457c5fd6bde7</id>
<content type='text'>
Fix a null pointer dereference in tracemalloc_copy_trace()
of _tracemalloc.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix a null pointer dereference in tracemalloc_copy_trace()
of _tracemalloc.</pre>
</div>
</content>
</entry>
<entry>
<title>Remove dead code from tracemalloc (GH-21029)</title>
<updated>2020-06-27T12:13:47+00:00</updated>
<author>
<name>Christian Heimes</name>
<email>christian@python.org</email>
</author>
<published>2020-06-27T12:13:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=9cfcdb7d6e4d09bde63bc7116b2ab0d96724527e'/>
<id>9cfcdb7d6e4d09bde63bc7116b2ab0d96724527e</id>
<content type='text'>
tracemalloc_get_frame() checked filename == NULL two times in a row.

Signed-off-by: Christian Heimes &lt;christian@python.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tracemalloc_get_frame() checked filename == NULL two times in a row.

Signed-off-by: Christian Heimes &lt;christian@python.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40630: Add tracemalloc.reset_peak (GH-20102)</title>
<updated>2020-05-22T14:18:51+00:00</updated>
<author>
<name>Huon Wilson</name>
<email>wilson.huon@gmail.com</email>
</author>
<published>2020-05-22T14:18:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=8b62644831443e400215eeb822c921f4f06c8977'/>
<id>8b62644831443e400215eeb822c921f4f06c8977</id>
<content type='text'>
The reset_peak function sets the peak memory size to the current size,
representing a resetting of that metric. This allows for recording the
peak of specific sections of code, ignoring other code that may have
had a higher peak (since the most recent `tracemalloc.start()` or
tracemalloc.clear_traces()` call).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The reset_peak function sets the peak memory size to the current size,
representing a resetting of that metric. This allows for recording the
peak of specific sections of code, ignoring other code that may have
had a higher peak (since the most recent `tracemalloc.start()` or
tracemalloc.clear_traces()` call).</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40609: _Py_hashtable_t values become void* (GH-20065)</title>
<updated>2020-05-13T02:40:30+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-05-13T02:40:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=5b0a30354d8a8bb39a05ce10ca4f5c78b729f25b'/>
<id>5b0a30354d8a8bb39a05ce10ca4f5c78b729f25b</id>
<content type='text'>
_Py_hashtable_t values become regular "void *" pointers.

* Add _Py_hashtable_entry_t.data member
* Remove _Py_hashtable_t.data_size member
* Remove _Py_hashtable_t.get_func member. It is no longer needed
  to specialize _Py_hashtable_get() for a specific value size, since
  all entries now have the same size (void*).
* Remove the following macros:

  * _Py_HASHTABLE_GET()
  * _Py_HASHTABLE_SET()
  * _Py_HASHTABLE_SET_NODATA()
  * _Py_HASHTABLE_POP()

* Rename _Py_hashtable_pop() to _Py_hashtable_steal()
* _Py_hashtable_foreach() callback now gets key and value rather than
  entry.
* Remove _Py_hashtable_value_destroy_func type. value_destroy_func
  callback now only has a single parameter: data (void*).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
_Py_hashtable_t values become regular "void *" pointers.

* Add _Py_hashtable_entry_t.data member
* Remove _Py_hashtable_t.data_size member
* Remove _Py_hashtable_t.get_func member. It is no longer needed
  to specialize _Py_hashtable_get() for a specific value size, since
  all entries now have the same size (void*).
* Remove the following macros:

  * _Py_HASHTABLE_GET()
  * _Py_HASHTABLE_SET()
  * _Py_HASHTABLE_SET_NODATA()
  * _Py_HASHTABLE_POP()

* Rename _Py_hashtable_pop() to _Py_hashtable_steal()
* _Py_hashtable_foreach() callback now gets key and value rather than
  entry.
* Remove _Py_hashtable_value_destroy_func type. value_destroy_func
  callback now only has a single parameter: data (void*).</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40609: _tracemalloc allocates traces (GH-20064)</title>
<updated>2020-05-13T01:52:11+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-05-13T01:52:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=d95bd4214c2babe851b02562d973d60c02e639b7'/>
<id>d95bd4214c2babe851b02562d973d60c02e639b7</id>
<content type='text'>
Rewrite _tracemalloc to store "trace_t*" rather than directly
"trace_t" in traces hash tables. Traces are now allocated on the heap
memory, outside the hash table.

Add tracemalloc_copy_traces() and tracemalloc_copy_domains() helper
functions.

Remove _Py_hashtable_copy() function since there is no API to copy a
key or a value.

Remove also _Py_hashtable_delete() function which was commented.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rewrite _tracemalloc to store "trace_t*" rather than directly
"trace_t" in traces hash tables. Traces are now allocated on the heap
memory, outside the hash table.

Add tracemalloc_copy_traces() and tracemalloc_copy_domains() helper
functions.

Remove _Py_hashtable_copy() function since there is no API to copy a
key or a value.

Remove also _Py_hashtable_delete() function which was commented.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40609: Add destroy functions to _Py_hashtable (GH-20062)</title>
<updated>2020-05-13T00:50:18+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-05-13T00:50:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=2d0a3d682f699cce8db6e30981d41d9125318726'/>
<id>2d0a3d682f699cce8db6e30981d41d9125318726</id>
<content type='text'>
Add key_destroy_func and value_destroy_func parameters to
_Py_hashtable_new_full().

marshal.c and _tracemalloc.c use these destroy functions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add key_destroy_func and value_destroy_func parameters to
_Py_hashtable_new_full().

marshal.c and _tracemalloc.c use these destroy functions.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40609: Remove _Py_hashtable_t.key_size (GH-20060)</title>
<updated>2020-05-13T00:26:02+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-05-13T00:26:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=f9b3b582b86b9cce8d69ec7d03d716ec81c8264a'/>
<id>f9b3b582b86b9cce8d69ec7d03d716ec81c8264a</id>
<content type='text'>
Rewrite _Py_hashtable_t type to always store the key as
a "const void *" pointer. Add an explicit "key" member to
_Py_hashtable_entry_t.

Remove _Py_hashtable_t.key_size member.

hash and compare functions drop their hash table parameter, and their
'key' parameter type becomes "const void *".</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rewrite _Py_hashtable_t type to always store the key as
a "const void *" pointer. Add an explicit "key" member to
_Py_hashtable_entry_t.

Remove _Py_hashtable_t.key_size member.

hash and compare functions drop their hash table parameter, and their
'key' parameter type becomes "const void *".</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40609: Rewrite how _tracemalloc handles domains (GH-20059)</title>
<updated>2020-05-12T23:36:47+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-05-12T23:36:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=9e2ca1742076169089b818d0883688a2ddd9964a'/>
<id>9e2ca1742076169089b818d0883688a2ddd9964a</id>
<content type='text'>
Rewrite how the _tracemalloc module stores traces of other domains.
Rather than storing the domain inside the key, it now uses a new hash
table with the domain as the key, and the data is a per-domain traces
hash table.

* Add tracemalloc_domain hash table.
* Remove _Py_tracemalloc_config.use_domain.
* Remove pointer_t and related functions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rewrite how the _tracemalloc module stores traces of other domains.
Rather than storing the domain inside the key, it now uses a new hash
table with the domain as the key, and the data is a per-domain traces
hash table.

* Add tracemalloc_domain hash table.
* Remove _Py_tracemalloc_config.use_domain.
* Remove pointer_t and related functions.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40602: Rename hashtable.h to pycore_hashtable.h (GH-20044)</title>
<updated>2020-05-12T00:42:19+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-05-12T00:42:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=b617993b7c0b0f6f679ef7003a62d0318b6d6af9'/>
<id>b617993b7c0b0f6f679ef7003a62d0318b6d6af9</id>
<content type='text'>
* Move Modules/hashtable.h to Include/internal/pycore_hashtable.h
* Move Modules/hashtable.c to Python/hashtable.c
* Python is now linked to hashtable.c. _tracemalloc is no longer
  linked to hashtable.c. Previously, marshal.c got hashtable.c via
  _tracemalloc.c which is built as a builtin module.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Move Modules/hashtable.h to Include/internal/pycore_hashtable.h
* Move Modules/hashtable.c to Python/hashtable.c
* Python is now linked to hashtable.c. _tracemalloc is no longer
  linked to hashtable.c. Previously, marshal.c got hashtable.c via
  _tracemalloc.c which is built as a builtin module.</pre>
</div>
</content>
</entry>
</feed>
