Miss Islington (bot)
c771cbe8f9
gh-93065: Fix HAMT to iterate correctly over 7-level deep trees (GH-93066) (GH-93145)
...
Also while there, clarify a few things about why we reduce the hash to 32 bits.
Co-authored-by: Eli Libman <eli@hyro.ai>
Co-authored-by: Yury Selivanov <yury@edgedb.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit c1f5c903a7
)
2022-05-24 10:52:06 +02:00
Victor Stinner
f0bc694856
bpo-47164: Add _PyCFunction_CAST() macro (GH-32192)
...
Use the macro in C files of the Python/ directory.
2022-03-31 10:02:34 +02:00
Victor Stinner
500c146387
bpo-46417: Clear more static types (GH-30796)
...
* Move PyContext static types into object.c static_types list.
* Rename PyContextTokenMissing_Type to _PyContextTokenMissing_Type
and declare it in pycore_context.h.
* _PyHamtItems types are no long exported: replace PyAPI_DATA() with
extern.
2022-01-22 18:55:48 +01:00
Eric Snow
c8749b5783
bpo-46008: Make runtime-global object/type lifecycle functions and state consistent. (gh-29998)
...
This change is strictly renames and moving code around. It helps in the following ways:
* ensures type-related init functions focus strictly on one of the three aspects (state, objects, types)
* passes in PyInterpreterState * to all those functions, simplifying work on moving types/objects/state to the interpreter
* consistent naming conventions help make what's going on more clear
* keeping API related to a type in the corresponding header file makes it more obvious where to look for it
https://bugs.python.org/issue46008
2021-12-09 12:59:26 -07:00
Victor Stinner
c6b292cdee
bpo-29882: Add _Py_popcount32() function (GH-20518)
...
* Rename pycore_byteswap.h to pycore_bitutils.h.
* Move popcount_digit() to pycore_bitutils.h as _Py_popcount32().
* _Py_popcount32() uses GCC and clang builtin function if available.
* Add unit tests to _Py_popcount32().
2020-06-08 16:30:33 +02:00
Victor Stinner
4a21e57fe5
bpo-40268: Remove unused structmember.h includes (GH-19530)
...
If only offsetof() is needed: include stddef.h instead.
When structmember.h is used, add a comment explaining that
PyMemberDef is used.
2020-04-15 02:35:41 +02:00
Victor Stinner
e5014be049
bpo-40268: Remove a few pycore_pystate.h includes (GH-19510)
2020-04-14 17:52:15 +02:00
Dong-hee Na
1b55b65638
bpo-39573: Clean up modules and headers to use Py_IS_TYPE() function (GH-18521)
2020-02-17 11:09:15 +01:00
Victor Stinner
60ac6ed557
bpo-39573: Use Py_SET_SIZE() function (GH-18402)
...
Replace direct acccess to PyVarObject.ob_size with usage of
the Py_SET_SIZE() function.
2020-02-07 23:18:08 +01:00
Batuhan Taşkaya
d0c92e81aa
closes bpo-37446: resolve undefined behavior in Python/hamt.c (GH-17727)
2019-12-30 18:31:52 -08:00
Hansraj Das
2798b60c55
Typo fix - implemention should be implementation (GH-16806)
2019-10-15 13:49:13 -07:00
Min ho Kim
c4cacc8c5e
Fix typos in comments, docs and test names ( #15018 )
...
* Fix typos in comments, docs and test names
* Update test_pyparse.py
account for change in string length
* Apply suggestion: splitable -> splittable
Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>
* Apply suggestion: splitable -> splittable
Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>
* Apply suggestion: Dealloccte -> Deallocate
Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>
* Update posixmodule checksum.
* Reverse idlelib changes.
2019-07-30 18:16:13 -04:00
Jeroen Demeyer
351c67416b
bpo-35983: skip trashcan for subclasses (GH-11841)
...
Add new trashcan macros to deal with a double deallocation that could occur when the `tp_dealloc` of a subclass calls the `tp_dealloc` of a base class and that base class uses the trashcan mechanism.
Patch by Jeroen Demeyer.
2019-05-10 19:21:10 +02:00
Serhiy Storchaka
d53fe5f407
bpo-36254: Fix invalid uses of %d in format strings in C. (GH-12264)
2019-03-13 22:59:55 +02:00
Victor Stinner
a42de742e7
bpo-35059: Cast void* to PyObject* (GH-10650)
...
Don't pass void* to Python macros: use _PyObject_CAST().
2018-11-22 10:25:22 +01:00
Victor Stinner
bcda8f1d42
bpo-35081: Add Include/internal/pycore_object.h (GH-10640)
...
Move _PyObject_GC_TRACK() and _PyObject_GC_UNTRACK() from
Include/objimpl.h to Include/internal/pycore_object.h.
2018-11-21 22:27:47 +01:00
Victor Stinner
621cebe81b
bpo-35081: Rename internal headers (GH-10275)
...
Rename Include/internal/ headers:
* pycore_hash.h -> pycore_pyhash.h
* pycore_lifecycle.h -> pycore_pylifecycle.h
* pycore_mem.h -> pycore_pymem.h
* pycore_state.h -> pycore_pystate.h
Add missing headers to Makefile.pre.in and PCbuild:
* pycore_condvar.h.
* pycore_hamt.h
* pycore_pyhash.h
2018-11-12 16:53:38 +01:00
Victor Stinner
27e2d1f219
bpo-35081: Add pycore_ prefix to internal header files (GH-10263)
...
* Rename Include/internal/ header files:
* pyatomic.h -> pycore_atomic.h
* ceval.h -> pycore_ceval.h
* condvar.h -> pycore_condvar.h
* context.h -> pycore_context.h
* pygetopt.h -> pycore_getopt.h
* gil.h -> pycore_gil.h
* hamt.h -> pycore_hamt.h
* hash.h -> pycore_hash.h
* mem.h -> pycore_mem.h
* pystate.h -> pycore_state.h
* warnings.h -> pycore_warnings.h
* PCbuild project, Makefile.pre.in, Modules/Setup: add the
Include/internal/ directory to the search paths of header files.
* Update includes. For example, replace #include "internal/mem.h"
with #include "pycore_mem.h".
2018-11-01 00:52:28 +01:00
Zackery Spytz
d8c3e820b4
Fix GCC warning in Python/hamt.c (GH-7618)
2018-07-06 17:50:38 +09:00
Yury Selivanov
378c53cc31
bpo-33803: Fix a crash in hamt.c ( #7504 )
2018-06-07 20:29:55 -04:00
Ville Skyttä
61f82e0e33
Spelling fixes to docs, docstrings, and comments (GH-6374)
2018-04-20 16:08:45 -04:00
Xiang Zhang
3c7ac7ea20
Add two missing error checks in hamt.c (GH-5851)
2018-03-08 13:59:46 +08:00
Serhiy Storchaka
bfe4fd5f2e
Fix some warnings produced by different compilers. ( #5593 )
2018-02-09 17:31:26 +02:00
Yury Selivanov
55e0839f26
bpo-32436: Fix compiler warning ( #5483 )
2018-02-01 22:24:56 -05:00
Dmitry Alimov
01a0cb8916
Fix typo in hamt.c comments ( #5478 )
2018-02-01 21:59:48 -05:00
Yury Selivanov
b647d7039d
bpo-32707: Fix warnings in hamt.c ( #5430 )
2018-01-29 13:31:37 -05:00
Yury Selivanov
6ab62920c8
bpo-32436: Fix a refleak; var GC tracking; a GCC warning ( #5326 )
...
The refleak in question wasn't really important, as context vars
are usually created at the toplevel and live as long as the interpreter
lives, so the context var name isn't ever GCed anyways.
2018-01-25 14:18:55 -05:00
Dmitry Alimov
93a6119f08
Fix 3rd level node's binary representation in HAMT algorithm description ( #5319 )
2018-01-25 12:54:41 -05:00
Yury Selivanov
b7a80d543e
bpo-32436: Don't use native popcount() (also fixes bpo-32641) ( #5292 )
2018-01-23 22:17:04 -05:00
Yury Selivanov
0bad4d63c6
bpo-32436: Fix potential NULL dereference ( #5286 )
2018-01-23 16:26:07 -05:00
Yury Selivanov
83c8675edb
bpo-32436: Remove a redundant assert ( #5275 )
2018-01-23 02:00:03 -05:00
Yury Selivanov
f23746a934
bpo-32436: Implement PEP 567 ( #5027 )
2018-01-22 19:11:18 -05:00