mirror of
https://github.com/jart/cosmopolitan.git
synced 2024-05-05 05:08:44 +00:00
d26d7ae0e4
Building o//third_party/python now takes 5 seconds on my PC This change works towards modifying Python to use runtime dispatching when appropriate. For example, when loading the magnums in the socket module, it's a good idea to check if the magnum is zero, because that means the local system platform doesn't support it.
23 lines
656 B
C
23 lines
656 B
C
#ifndef Py_LIMITED_API
|
|
#ifndef Py_ACCU_H
|
|
#define Py_ACCU_H
|
|
COSMOPOLITAN_C_START_
|
|
/* clang-format off */
|
|
|
|
#undef small /* defined by some Windows headers */
|
|
|
|
typedef struct {
|
|
PyObject *large; /* A list of previously accumulated large strings */
|
|
PyObject *small; /* Pending small strings */
|
|
} _PyAccu;
|
|
|
|
PyAPI_FUNC(int) _PyAccu_Init(_PyAccu *acc);
|
|
PyAPI_FUNC(int) _PyAccu_Accumulate(_PyAccu *acc, PyObject *unicode);
|
|
PyAPI_FUNC(PyObject *) _PyAccu_FinishAsList(_PyAccu *acc);
|
|
PyAPI_FUNC(PyObject *) _PyAccu_Finish(_PyAccu *acc);
|
|
PyAPI_FUNC(void) _PyAccu_Destroy(_PyAccu *acc);
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* Py_ACCU_H */
|
|
#endif /* Py_LIMITED_API */
|