mirror of
https://github.com/python/cpython.git
synced 2024-12-14 12:26:47 +08:00
4d231bcc77
* Add pycore_call.h internal header file. * Add _PyObject_Call(): PyObject_Call() with tstate * Add _PyObject_CallNoArgTstate(): _PyObject_CallNoArg() with tstate * Add _PyObject_FastCallDictTstate(): _PyObject_FastCallDict() with tstate * _PyObject_Call_Prepend() now takes tstate * Replace _PyObject_FastCall() calls with _PyObject_VectorcallTstate() calls
40 lines
870 B
C
40 lines
870 B
C
#ifndef Py_INTERNAL_CALL_H
|
|
#define Py_INTERNAL_CALL_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef Py_BUILD_CORE
|
|
# error "this header requires Py_BUILD_CORE define"
|
|
#endif
|
|
|
|
PyAPI_FUNC(PyObject *) _PyObject_Call_Prepend(
|
|
PyThreadState *tstate,
|
|
PyObject *callable,
|
|
PyObject *obj,
|
|
PyObject *args,
|
|
PyObject *kwargs);
|
|
|
|
PyAPI_FUNC(PyObject *) _PyObject_FastCallDictTstate(
|
|
PyThreadState *tstate,
|
|
PyObject *callable,
|
|
PyObject *const *args,
|
|
size_t nargsf,
|
|
PyObject *kwargs);
|
|
|
|
PyAPI_FUNC(PyObject *) _PyObject_Call(
|
|
PyThreadState *tstate,
|
|
PyObject *callable,
|
|
PyObject *args,
|
|
PyObject *kwargs);
|
|
|
|
static inline PyObject *
|
|
_PyObject_CallNoArgTstate(PyThreadState *tstate, PyObject *func) {
|
|
return _PyObject_VectorcallTstate(tstate, func, NULL, 0, NULL);
|
|
}
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !Py_INTERNAL_CALL_H */
|