cpython/Include/internal
Mark Shannon 8319114fee
bpo-45947: Place dict and values pointer at fixed (negative) offset just before GC header. (GH-29879)
* Place __dict__ immediately before GC header for plain Python objects.

* Fix up lazy dict creation logic to use managed dict pointers.

* Manage values pointer, placing them directly before managed dict pointers.

* Convert hint-based load/store attr specialization target managed dict classes.

* Specialize LOAD_METHOD for managed dict objects.

* Remove unsafe _PyObject_GC_Calloc function.

* Remove unsafe _PyObject_GC_Malloc() function.

* Add comment explaning use of Py_TPFLAGS_MANAGED_DICT.
2021-12-07 16:02:53 +00:00
..
pycore_abstract.h bpo-45636: Simplify BINARY_OP (GH-29565) 2021-11-16 05:53:57 -08:00
pycore_accu.h bpo-36635: Change pyport.h for Py_BUILD_CORE_MODULE define (GH-12853) 2019-04-17 23:02:26 +02:00
pycore_asdl.h bpo-45476: Disallow using asdl_seq_GET() as l-value (GH-29866) 2021-11-30 15:13:55 +01:00
pycore_ast.h bpo-43892: Make match patterns explicit in the AST (GH-25585) 2021-04-28 22:58:44 -07:00
pycore_ast_state.h bpo-43892: Make match patterns explicit in the AST (GH-25585) 2021-04-28 22:58:44 -07:00
pycore_atomic.h bpo-39465: Add pycore_atomic_funcs.h header (GH-20766) 2020-12-23 03:41:08 +01:00
pycore_atomic_funcs.h bpo-39465: Add pycore_atomic_funcs.h header (GH-20766) 2020-12-23 03:41:08 +01:00
pycore_bitutils.h bpo-41617: Add _Py__has_builtin() macro (GH-23260) 2020-11-13 15:38:17 +01:00
pycore_blocks_output_buffer.h bpo-44458: Ensure BUFFER_BLOCK_SIZE symbol is statically allocated. (GH-26808) 2021-06-21 23:36:36 -07:00
pycore_bytes_methods.h bpo-35081: Move bytes_methods.h to the internal C API (GH-18492) 2020-02-12 22:32:34 +01:00
pycore_call.h bpo-45439: Move _PyObject_VectorcallTstate() to pycore_call.h (GH-28893) 2021-10-14 21:53:04 +02:00
pycore_ceval.h bpo-45963: Make space for the InterpreterFrame of a generator in that generator. (GH-29891) 2021-12-06 10:13:49 +00:00
pycore_code.h bpo-45885: Specialize COMPARE_OP (GH-29734) 2021-12-03 11:29:12 +00:00
pycore_compile.h bpo-42609: Check recursion depth in the AST validator and optimizer (GH-23744) 2021-04-25 13:38:00 +03:00
pycore_condvar.h Fix typo in block comment in Include/internal/pycore_condvar.h (GH-26457) 2021-06-01 18:30:05 -03:00
pycore_context.h bpo-43268: Pass interp rather than tstate to internal functions (GH-24580) 2021-02-19 15:10:45 +01:00
pycore_dict.h bpo-45609: Specialize STORE_SUBSCR (GH-29242) 2021-11-19 10:30:37 +00:00
pycore_dtoa.h Revert "bpo-40521: Make dtoa bigint free list per-interpreter (GH-24821)" (GH-24964) 2021-03-22 11:58:59 +01:00
pycore_fileutils.h bpo-45582: Port getpath[p].c to Python (GH-29041) 2021-12-03 00:08:42 +00:00
pycore_floatobject.h bpo-35134: Add Include/cpython/floatobject.h (GH-28957) 2021-10-14 23:41:06 +02:00
pycore_format.h bpo-42431: Fix outdated bytes comments (GH-23458) 2020-12-03 12:46:16 +02:00
pycore_frame.h bpo-45963: Make space for the InterpreterFrame of a generator in that generator. (GH-29891) 2021-12-06 10:13:49 +00:00
pycore_function.h bpo-44525: Copy free variables in bytecode to allow calls to inner functions to be specialized (GH-29595) 2021-11-23 09:53:24 +00:00
pycore_gc.h bpo-45476: Add _Py_RVALUE() macro (GH-29860) 2021-11-30 12:14:45 +01:00
pycore_getopt.h bpo-36763: Cleanup precmdline in _PyCoreConfig_Read() (GH-13371) 2019-05-17 03:15:12 +02:00
pycore_gil.h bpo-38353: Cleanup includes in the internal C API (GH-16548) 2019-10-02 23:51:20 +02:00
pycore_hamt.h bpo-39573: Add Py_IS_TYPE() function (GH-18488) 2020-02-13 18:37:17 +01:00
pycore_hashtable.h bpo-40602: Write unit tests for _Py_hashtable_t (GH-20091) 2020-05-14 21:55:47 +02:00
pycore_import.h bpo-45395: Make custom frozen modules additions instead of replacements. (gh-28778) 2021-10-28 15:04:33 -06:00
pycore_initconfig.h bpo-45582 Fix prototype of _Py_Get_Getpath_CodeObject. (GH-29907) 2021-12-03 15:21:58 -08:00
pycore_interp.h bpo-45786: Allocate space for frame in frame object. (GH-29729) 2021-11-29 12:34:59 +00:00
pycore_interpreteridobject.h bpo-35081: Move interpreteridobject.h to Include/internal/ (GH-28969) 2021-10-15 11:56:34 +02:00
pycore_list.h bpo-41078: Add pycore_list.h internal header file (GH-21057) 2020-06-22 17:39:32 +02:00
pycore_long.h bpo-45510: Specialize BINARY_SUBTRACT (GH-29523) 2021-11-18 09:19:58 +00:00
pycore_moduleobject.h bpo-40137: Add pycore_moduleobject.h internal header (GH-25507) 2021-04-22 00:52:52 +02:00
pycore_namespace.h bpo-45482: Rename namespaceobject.h to pycore_namespace.h (GH-28975) 2021-10-15 15:21:21 +02:00
pycore_object.h bpo-45947: Place dict and values pointer at fixed (negative) offset just before GC header. (GH-29879) 2021-12-07 16:02:53 +00:00
pycore_parser.h bpo-43244: Remove parser_interface.h header file (GH-25001) 2021-03-24 01:29:09 +01:00
pycore_pathconfig.h bpo-45582: Port getpath[p].c to Python (GH-29041) 2021-12-03 00:08:42 +00:00
pycore_pyarena.h bpo-43244: Remove the pyarena.h header (GH-25007) 2021-03-24 02:23:01 +01:00
pycore_pyerrors.h bpo-45711: use exc_value instead of exc_type to determine if exc_info is valid. Add more assertions. (GH-29627) 2021-11-25 09:41:28 +00:00
pycore_pyhash.h bpo-36635: Change pyport.h for Py_BUILD_CORE_MODULE define (GH-12853) 2019-04-17 23:02:26 +02:00
pycore_pylifecycle.h Store actual ints, not pointers to them in the interpreter state. (GH-29274) 2021-10-28 17:35:43 +01:00
pycore_pymath.h bpo-45440: Remove pymath.c fallbacks (GH-28977) 2021-10-15 19:45:34 +02:00
pycore_pymem.h bpo-35081: Move interpreteridobject.h to Include/internal/ (GH-28969) 2021-10-15 11:56:34 +02:00
pycore_pystate.h bpo-43760: Rename _PyThreadState_DisableTracing() (GH-29032) 2021-10-18 18:40:43 +02:00
pycore_runtime.h bpo-45691: Make array of small ints static to fix use-after-free error. (GH-29366) 2021-11-03 16:22:32 +00:00
pycore_strhex.h bpo-45434: Remove pystrhex.h header file (GH-28923) 2021-10-13 15:22:35 +02:00
pycore_structseq.h bpo-43916: Move the _PyStructSequence_InitType function to the internal API (GH-25854) 2021-05-03 15:50:24 +01:00
pycore_symtable.h bpo-44313: generate LOAD_ATTR/CALL_FUNCTION for top-level imported objects (GH-26677) 2021-06-30 23:53:36 +01:00
pycore_sysmodule.h bpo-38644: Add _PySys_Audit() which takes tstate (GH-19180) 2020-03-26 18:57:32 +01:00
pycore_traceback.h bpo-45292: [PEP 654] Update traceback display code to work with exception groups (GH-29207) 2021-11-05 09:39:18 +00:00
pycore_tuple.h bpo-45256: Remove the usage of the C stack in Python to Python calls (GH-28488) 2021-10-09 16:51:30 +01:00
pycore_ucnhash.h bpo-42157: Rename unicodedata.ucnhash_CAPI (GH-22994) 2020-10-27 04:36:22 +01:00
pycore_unionobject.h bpo-44654: Do not export the union type related symbols (GH-27223) 2021-07-18 15:55:20 +03:00
pycore_warnings.h bpo-35134: Split warnings.h and weakrefobject.h (GH-29042) 2021-10-19 01:31:57 +02:00