cpython/Objects
Eric Snow ac38a9f2df
bpo-43693: Eliminate unused "fast locals". (gh-26587)
Currently, if an arg value escapes (into the closure for an inner function) we end up allocating two indices in the fast locals even though only one gets used.  Additionally, using the lower index would be better in some cases, such as with no-arg `super()`.  To address this, we update the compiler to fix the offsets so each variable only gets one "fast local".  As a consequence, now some cell offsets are interspersed with the locals (only when an arg escapes to an inner function).

https://bugs.python.org/issue43693
2021-06-15 16:35:25 -06:00
..
clinic bpo-43693: Un-revert commits 2c1e258 and b2bf2bc. (gh-26577) 2021-06-07 12:22:26 -06:00
stringlib Remove effbot urls (GH-26308) 2021-05-22 14:09:54 +02:00
README
abstract.c bpo-31861: Add aiter and anext to builtins (#23847) 2021-03-23 15:47:21 -07:00
accu.c
boolobject.c bpo-41870: Avoid the test when nargs=0 (GH-22462) 2020-10-01 13:50:40 +09:00
bytearrayobject.c bpo-42128: Structural Pattern Matching (PEP 634) (GH-22917) 2021-02-26 14:51:55 -08:00
bytes_methods.c bpo-43179: Generalise alignment for optimised string routines (GH-24624) 2021-03-31 12:12:39 +02:00
bytesobject.c bpo-42128: Structural Pattern Matching (PEP 634) (GH-22917) 2021-02-26 14:51:55 -08:00
call.c bpo-42990: Further refactoring of PyEval_ functions. (GH-24368) 2021-02-01 10:42:03 +00:00
capsule.c bpo-42519: Replace PyObject_MALLOC() with PyObject_Malloc() (GH-23587) 2020-12-01 10:37:39 +01:00
cellobject.c bpo-40268: Remove unused pycore_pymem.h includes (GH-19531) 2020-04-15 02:57:50 +02:00
classobject.c bpo-40268: Remove unused pycore_pymem.h includes (GH-19531) 2020-04-15 02:57:50 +02:00
codeobject.c bpo-43693: Eliminate unused "fast locals". (gh-26587) 2021-06-15 16:35:25 -06:00
complexobject.c bpo-43475: Fix worst case collision behavior for NaN instances (GH-25493) 2021-04-22 08:34:57 -07:00
descrobject.c bpo-43977: Use tp_flags for collection matching (GH-25723) 2021-04-30 09:50:28 +01:00
dictnotes.txt
dictobject.c bpo-44337: Port LOAD_ATTR to PEP 659 adaptive interpreter (GH-26595) 2021-06-10 08:46:01 +01:00
enumobject.c bpo-42536: GC track recycled tuples (GH-23623) 2020-12-04 19:45:57 -08:00
exception_handling_notes.txt bpo-40222: "Zero cost" exception handling (GH-25729) 2021-05-07 15:19:19 +01:00
exceptions.c bpo-44029: Remove Py_UNICODE APIs (GH-25881) 2021-05-07 15:58:29 +09:00
fileobject.c bpo-43916: PyStdPrinter_Type uses Py_TPFLAGS_DISALLOW_INSTANTIATION (GH-25749) 2021-04-30 14:56:27 +02:00
floatobject.c bpo-43475: Fix worst case collision behavior for NaN instances (GH-25493) 2021-04-22 08:34:57 -07:00
frameobject.c bpo-43693: Eliminate unused "fast locals". (gh-26587) 2021-06-15 16:35:25 -06:00
funcobject.c bpo-43693: Clean up the PyCodeObject fields. (GH-26364) 2021-05-26 20:15:40 +01:00
genericaliasobject.c bpo-41559: Change PEP 612 implementation to pure Python (#25449) 2021-04-28 08:38:14 -07:00
genobject.c bpo-44032: Move data stack to thread from FrameObject. (GH-26076) 2021-05-21 10:57:35 +01:00
interpreteridobject.c bpo-43962: Fix _PyInterpreterState_IDIncref() (GH-25683) 2021-04-28 13:40:44 +02:00
iterobject.c bpo-43751: Fix anext() bug where it erroneously returned None (GH-25238) 2021-04-11 05:51:35 +01:00
listobject.c bpo-43977: Use tp_flags for collection matching (GH-25723) 2021-04-30 09:50:28 +01:00
listsort.txt Fixes in sorting descriptions (GH-18317) 2020-02-03 08:47:20 -08:00
lnotab_notes.txt Fix typo in lnotab_notes.txt (GH-26711) 2021-06-14 11:49:05 -03:00
longobject.c Fix a potential reference-counting bug in long_pow (GH-26690) 2021-06-13 08:19:29 +01:00
memoryobject.c bpo-43977: Use tp_flags for collection matching (GH-25723) 2021-04-30 09:50:28 +01:00
methodobject.c bpo-42015: Reorder dereferencing calls in meth_dealloc, to make sure m_self is kept alive long enough (GH-22670) 2020-10-13 00:06:19 +03:00
moduleobject.c bpo-43901: Fix refleaks in test_module (GH-25754) 2021-04-30 17:26:45 +01:00
namespaceobject.c bpo-39075: types.SimpleNamespace no longer sorts attributes in its repr (GH-19430) 2020-05-15 18:27:54 -07:00
object.c bpo-38530: Offer suggestions on AttributeError (#16856) 2021-04-14 02:36:07 +01:00
obmalloc.c bpo-44032: Move data stack to thread from FrameObject. (GH-26076) 2021-05-21 10:57:35 +01:00
odictobject.c bpo-44337: Port LOAD_ATTR to PEP 659 adaptive interpreter (GH-26595) 2021-06-10 08:46:01 +01:00
picklebufobject.c
rangeobject.c bpo-43977: Use tp_flags for collection matching (GH-25723) 2021-04-30 09:50:28 +01:00
setobject.c bpo-43198: Revert 3dd2157 that removed freeslot tracking. (#25010) 2021-03-24 15:33:27 -07:00
sliceobject.c bpo-43268: Pass interp rather than tstate to internal functions (GH-24580) 2021-02-19 15:10:45 +01:00
structseq.c bpo-43916: Move the _PyStructSequence_InitType function to the internal API (GH-25854) 2021-05-03 15:50:24 +01:00
tupleobject.c bpo-43977: Use tp_flags for collection matching (GH-25723) 2021-04-30 09:50:28 +01:00
typeobject.c bpo-43693: Eliminate unused "fast locals". (gh-26587) 2021-06-15 16:35:25 -06:00
typeslots.inc bpo-41073: PyType_GetSlot() can now accept static types. (GH-21931) 2020-11-10 12:53:46 -08:00
typeslots.py bpo-41073: PyType_GetSlot() can now accept static types. (GH-21931) 2020-11-10 12:53:46 -08:00
unicodectype.c
unicodeobject.c Add more const modifiers. (GH-26691) 2021-06-12 16:11:59 +03:00
unicodetype_db.h closes bpo-39926: Update Unicode to 13.0.0. (GH-18910) 2020-03-10 20:41:34 -07:00
unionobject.c bpo-42195: Disallow isinstance/issubclass for subclasses of genericaliases in Union (GH-24059) 2021-01-02 08:19:15 -08:00
weakrefobject.c bpo-40523: Add pass-throughs for hash() and reversed() to weakref.proxy objects (GH-19946) 2020-05-05 22:58:19 +01:00

README

Source files for various builtin objects