cpython/Objects
Mark Shannon adcd220556
bpo-40222: "Zero cost" exception handling (GH-25729)
"Zero cost" exception handling.

* Uses a lookup table to determine how to handle exceptions.
* Removes SETUP_FINALLY and POP_TOP block instructions, eliminating (most of) the runtime overhead of try statements.
* Reduces the size of the frame object by about 60%.
2021-05-07 15:19:19 +01:00
..
clinic bpo-40222: "Zero cost" exception handling (GH-25729) 2021-05-07 15:19:19 +01:00
stringlib bpo-43179: Generalise alignment for optimised string routines (GH-24624) 2021-03-31 12:12:39 +02:00
README
abstract.c bpo-31861: Add aiter and anext to builtins (#23847) 2021-03-23 15:47:21 -07:00
accu.c bpo-35081: Move accu.h to Include/internal/pycore_accu.h (GH-10271) 2018-11-01 02:30:36 +01:00
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-40222: "Zero cost" exception handling (GH-25729) 2021-05-07 15:19:19 +01: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
dict-common.h bpo-33312: Fix clang ubsan out of bounds warnings in dict. (GH-6537) 2018-04-19 22:41:19 -07:00
dictnotes.txt
dictobject.c bpo-43977: Use tp_flags for collection matching (GH-25723) 2021-04-30 09:50:28 +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-40222: "Zero cost" exception handling (GH-25729) 2021-05-07 15:19:19 +01:00
funcobject.c bpo-43682: Make staticmethod objects callable (GH-25117) 2021-04-12 00:21:22 +02:00
genericaliasobject.c bpo-41559: Change PEP 612 implementation to pure Python (#25449) 2021-04-28 08:38:14 -07:00
genobject.c bpo-42800: Rename AUDIT_READ to PY_AUDIT_READ (GH-25736) 2021-04-30 01:08:55 +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 bpo-42739: Don't use sentinels to mark end of line table. (GH-25657) 2021-04-29 13:12:51 +01:00
longobject.c bpo-43687: Py_Initialize() creates singletons earlier (GH-25147) 2021-04-02 15:28:13 +02: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 When printing stats, move radix tree info to its own section. (GH-25125) 2021-03-31 22:46:31 -05:00
odictobject.c bpo-42536: GC track recycled tuples (GH-23623) 2020-12-04 19:45:57 -08:00
picklebufobject.c bpo-36785: PEP 574 implementation (GH-7076) 2019-05-26 17:10:09 +02:00
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-43977: Make sure that tp_flags for pattern matching are inherited correctly. (GH-25813) 2021-05-03 00:38:22 +01: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 bpo-44029: Remove Py_UNICODE APIs (GH-25881) 2021-05-07 15:58:29 +09: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