gh-100239: specialize BINARY_OP/SUBSCR for list-slice (#132626) · python/cpython@5529213

GitHub

File tree

Include

cpython

internal

Lib

Misc/NEWS.d/next/Core_and_Builtins

Objects

Python

Original file line numberDiff line numberDiff line change@@ -29,7 +29,7 @@

2929# error "this header file must not be included directly"

3030#endif

313132-#definePYSTATS_MAX_UOP_ID512

32+#definePYSTATS_MAX_UOP_ID1024

33333434#defineSPECIALIZATION_FAILURE_KINDS 60

3535Original file line numberDiff line numberDiff line change@@ -13,10 +13,13 @@ extern "C" {

1313#endif

14141515PyAPI_FUNC(PyObject*) _PyList_Extend(PyListObject*, PyObject*);

16+PyAPI_FUNC(PyObject) *_PyList_SliceSubscript(PyObject*, PyObject*);

1617externvoid_PyList_DebugMallocStats(FILE*out);

1718// _PyList_GetItemRef should be used only when the object is known as a list

1819// because it doesn't raise TypeError when the object is not a list, whereas PyList_GetItemRef does.

1920externPyObject*_PyList_GetItemRef(PyListObject*, Py_ssize_ti);

21+22+2023#ifdefPy_GIL_DISABLED

2124// Returns -1 in case of races with other threads.

2225externint_PyList_GetItemRefNoLock(PyListObject*, Py_ssize_t, _PyStackRef*);