mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
bpo-35199: Add an internal _PyTuple_ITEMS() macro (GH-10434)
* _PyTuple_ITEMS() gives access to the tuple->ob_item field and cast the first argument to PyTupleObject*. This internal macro is only usable if Py_BUILD_CORE is defined. * Replace &PyTuple_GET_ITEM(ob, 0) with _PyTuple_ITEMS(ob). * Replace PyTuple_GET_ITEM(op, 1) with &_PyTuple_ITEMS(ob)[1].
This commit is contained in:
parent
130893debf
commit
d17a693fa0
9 changed files with 27 additions and 23 deletions
|
@ -142,7 +142,7 @@ partial_fastcall(partialobject *pto, PyObject **args, Py_ssize_t nargs,
|
|||
stack = args;
|
||||
}
|
||||
else if (nargs == 0) {
|
||||
stack = &PyTuple_GET_ITEM(pto->args, 0);
|
||||
stack = _PyTuple_ITEMS(pto->args);
|
||||
}
|
||||
else {
|
||||
if (nargs2 <= (Py_ssize_t)Py_ARRAY_LENGTH(small_stack)) {
|
||||
|
@ -159,7 +159,7 @@ partial_fastcall(partialobject *pto, PyObject **args, Py_ssize_t nargs,
|
|||
|
||||
/* use borrowed references */
|
||||
memcpy(stack,
|
||||
&PyTuple_GET_ITEM(pto->args, 0),
|
||||
_PyTuple_ITEMS(pto->args),
|
||||
pto_nargs * sizeof(PyObject*));
|
||||
memcpy(&stack[pto_nargs],
|
||||
args,
|
||||
|
@ -222,7 +222,7 @@ partial_call(partialobject *pto, PyObject *args, PyObject *kwargs)
|
|||
|
||||
if (pto->use_fastcall) {
|
||||
res = partial_fastcall(pto,
|
||||
&PyTuple_GET_ITEM(args, 0),
|
||||
_PyTuple_ITEMS(args),
|
||||
PyTuple_GET_SIZE(args),
|
||||
kwargs2);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue