};
typedef struct _Py_freelist_state {
- struct _Py_float_state float_state;
- struct _Py_tuple_state tuple_state;
- struct _Py_list_state list_state;
- struct _Py_slice_state slice_state;
- struct _Py_context_state context_state;
- struct _Py_async_gen_state async_gen_state;
- struct _Py_object_stack_state object_stack_state;
+ struct _Py_float_state floats;
+ struct _Py_tuple_state tuples;
+ struct _Py_list_state lists;
+ struct _Py_slice_state slices;
+ struct _Py_context_state contexts;
+ struct _Py_async_gen_state async_gens;
+ struct _Py_object_stack_state object_stacks;
} _PyFreeListState;
#ifdef __cplusplus
{
_PyFreeListState *state = _PyFreeListState_GET();
assert(state != NULL);
- return &state->float_state;
+ return &state->floats;
}
#endif
_PyFloat_ClearFreeList(_PyFreeListState *freelist_state, int is_finalization)
{
#ifdef WITH_FREELISTS
- struct _Py_float_state *state = &freelist_state->float_state;
+ struct _Py_float_state *state = &freelist_state->floats;
PyFloatObject *f = state->free_list;
while (f != NULL) {
PyFloatObject *next = (PyFloatObject*) Py_TYPE(f);
get_async_gen_state(void)
{
_PyFreeListState *state = _PyFreeListState_GET();
- return &state->async_gen_state;
+ return &state->async_gens;
}
#endif
_PyAsyncGen_ClearFreeLists(_PyFreeListState *freelist_state, int is_finalization)
{
#ifdef WITH_FREELISTS
- struct _Py_async_gen_state *state = &freelist_state->async_gen_state;
+ struct _Py_async_gen_state *state = &freelist_state->async_gens;
while (state->value_numfree > 0) {
_PyAsyncGenWrappedValue *o;
{
_PyFreeListState *state = _PyFreeListState_GET();
assert(state != NULL);
- return &state->list_state;
+ return &state->lists;
}
#endif
_PyList_ClearFreeList(_PyFreeListState *freelist_state, int is_finalization)
{
#ifdef WITH_FREELISTS
- struct _Py_list_state *state = &freelist_state->list_state;
+ struct _Py_list_state *state = &freelist_state->lists;
while (state->numfree > 0) {
PyListObject *op = state->free_list[--state->numfree];
assert(PyList_CheckExact(op));
void _PySlice_ClearCache(_PyFreeListState *state)
{
#ifdef WITH_FREELISTS
- PySliceObject *obj = state->slice_state.slice_cache;
+ PySliceObject *obj = state->slices.slice_cache;
if (obj != NULL) {
- state->slice_state.slice_cache = NULL;
+ state->slices.slice_cache = NULL;
PyObject_GC_Del(obj);
}
#endif
PySliceObject *obj;
#ifdef WITH_FREELISTS
_PyFreeListState *state = _PyFreeListState_GET();
- if (state->slice_state.slice_cache != NULL) {
- obj = state->slice_state.slice_cache;
- state->slice_state.slice_cache = NULL;
+ if (state->slices.slice_cache != NULL) {
+ obj = state->slices.slice_cache;
+ state->slices.slice_cache = NULL;
_Py_NewReference((PyObject *)obj);
}
else
Py_DECREF(r->stop);
#ifdef WITH_FREELISTS
_PyFreeListState *state = _PyFreeListState_GET();
- if (state->slice_state.slice_cache == NULL) {
- state->slice_state.slice_cache = r;
+ if (state->slices.slice_cache == NULL) {
+ state->slices.slice_cache = r;
}
else
#endif
* freelists *
*************/
-#define STATE (state->tuple_state)
+#define STATE (state->tuples)
#define FREELIST_FINALIZED (STATE.numfree[0] < 0)
static inline PyTupleObject *
get_context_state(void)
{
_PyFreeListState *state = _PyFreeListState_GET();
- return &state->context_state;
+ return &state->contexts;
}
#endif
_PyContext_ClearFreeList(_PyFreeListState *freelist_state, int is_finalization)
{
#ifdef WITH_FREELISTS
- struct _Py_context_state *state = &freelist_state->context_state;
+ struct _Py_context_state *state = &freelist_state->contexts;
for (; state->numfree > 0; state->numfree--) {
PyContext *ctx = state->freelist;
state->freelist = (PyContext *)ctx->ctx_weakreflist;
get_state(void)
{
_PyFreeListState *state = _PyFreeListState_GET();
- return &state->object_stack_state;
+ return &state->object_stacks;
}
_PyObjectStackChunk *
return;
}
- struct _Py_object_stack_state *state = &free_lists->object_stack_state;
+ struct _Py_object_stack_state *state = &free_lists->object_stacks;
while (state->numfree > 0) {
_PyObjectStackChunk *buf = state->free_list;
state->free_list = buf->prev;