/usr/share/cagefs-skeleton/opt/alt/python312/include/python3.12/internal
#ifndef Py_INTERNAL_CEVAL_STATE_H #define Py_INTERNAL_CEVAL_STATE_H #ifdef __cplusplus extern "C" { #endif #ifndef Py_BUILD_CORE # error "this header requires Py_BUILD_CORE define" #endif #include "pycore_atomic.h" /* _Py_atomic_address */ #include "pycore_gil.h" // struct _gil_runtime_state struct _pending_calls { int busy; PyThread_type_lock lock; /* Request for running pending calls. */ _Py_atomic_int calls_to_do; /* Request for looking at the `async_exc` field of the current thread state. Guarded by the GIL. */ int async_exc; #define NPENDINGCALLS 32 struct _pending_call { int (*func)(void *); void *arg; } calls[NPENDINGCALLS]; int first; int last; }; typedef enum { PERF_STATUS_FAILED = -1, // Perf trampoline is in an invalid state PERF_STATUS_NO_INIT = 0, // Perf trampoline is not initialized PERF_STATUS_OK = 1, // Perf trampoline is ready to be executed } perf_status_t; #ifdef PY_HAVE_PERF_TRAMPOLINE struct code_arena_st; struct trampoline_api_st { void* (*init_state)(void); void (*write_state)(void* state, const void *code_addr, unsigned int code_size, PyCodeObject* code); int (*free_state)(void* state); void *state; }; #endif struct _ceval_runtime_state { struct { #ifdef PY_HAVE_PERF_TRAMPOLINE perf_status_t status; Py_ssize_t extra_code_index; struct code_arena_st *code_arena; struct trampoline_api_st trampoline_api; FILE *map_file; #else int _not_used; #endif } perf; /* Request for checking signals. It is shared by all interpreters (see bpo-40513). Any thread of any interpreter can receive a signal, but only the main thread of the main interpreter can handle signals: see _Py_ThreadCanHandleSignals(). */ _Py_atomic_int signals_pending; /* Pending calls to be made only on the main thread. */ struct _pending_calls pending_mainthread; }; #ifdef PY_HAVE_PERF_TRAMPOLINE # define _PyEval_RUNTIME_PERF_INIT \ { \ .status = PERF_STATUS_NO_INIT, \ .extra_code_index = -1, \ } #else # define _PyEval_RUNTIME_PERF_INIT {0} #endif struct _ceval_state { /* This single variable consolidates all requests to break out of the fast path in the eval loop. */ _Py_atomic_int eval_breaker; /* Request for dropping the GIL */ _Py_atomic_int gil_drop_request; int recursion_limit; struct _gil_runtime_state *gil; int own_gil; /* The GC is ready to be executed */ _Py_atomic_int gc_scheduled; struct _pending_calls pending; }; #ifdef __cplusplus } #endif #endif /* !Py_INTERNAL_CEVAL_STATE_H */
.
Edit
..
Edit
pycore_abstract.h
Edit
pycore_asdl.h
Edit
pycore_ast.h
Edit
pycore_ast_state.h
Edit
pycore_atexit.h
Edit
pycore_atomic.h
Edit
pycore_atomic_funcs.h
Edit
pycore_bitutils.h
Edit
pycore_blocks_output_buffer.h
Edit
pycore_bytes_methods.h
Edit
pycore_bytesobject.h
Edit
pycore_call.h
Edit
pycore_ceval.h
Edit
pycore_ceval_state.h
Edit
pycore_code.h
Edit
pycore_compile.h
Edit
pycore_condvar.h
Edit
pycore_context.h
Edit
pycore_descrobject.h
Edit
pycore_dict.h
Edit
pycore_dict_state.h
Edit
pycore_dtoa.h
Edit
pycore_emscripten_signal.h
Edit
pycore_exceptions.h
Edit
pycore_faulthandler.h
Edit
pycore_fileutils.h
Edit
pycore_fileutils_windows.h
Edit
pycore_floatobject.h
Edit
pycore_flowgraph.h
Edit
pycore_format.h
Edit
pycore_frame.h
Edit
pycore_function.h
Edit
pycore_gc.h
Edit
pycore_genobject.h
Edit
pycore_getopt.h
Edit
pycore_gil.h
Edit
pycore_global_objects.h
Edit
pycore_global_objects_fini_generated.h
Edit
pycore_global_strings.h
Edit
pycore_hamt.h
Edit
pycore_hashtable.h
Edit
pycore_import.h
Edit
pycore_initconfig.h
Edit
pycore_instruments.h
Edit
pycore_interp.h
Edit
pycore_intrinsics.h
Edit
pycore_list.h
Edit
pycore_long.h
Edit
pycore_memoryobject.h
Edit
pycore_moduleobject.h
Edit
pycore_namespace.h
Edit
pycore_object.h
Edit
pycore_object_state.h
Edit
pycore_obmalloc.h
Edit
pycore_obmalloc_init.h
Edit
pycore_opcode.h
Edit
pycore_opcode_utils.h
Edit
pycore_parser.h
Edit
pycore_pathconfig.h
Edit
pycore_pyarena.h
Edit
pycore_pyerrors.h
Edit
pycore_pyhash.h
Edit
pycore_pylifecycle.h
Edit
pycore_pymath.h
Edit
pycore_pymem.h
Edit
pycore_pymem_init.h
Edit
pycore_pystate.h
Edit
pycore_pythread.h
Edit
pycore_range.h
Edit
pycore_runtime.h
Edit
pycore_runtime_init.h
Edit
pycore_runtime_init_generated.h
Edit
pycore_signal.h
Edit
pycore_sliceobject.h
Edit
pycore_strhex.h
Edit
pycore_structseq.h
Edit
pycore_symtable.h
Edit
pycore_sysmodule.h
Edit
pycore_time.h
Edit
pycore_token.h
Edit
pycore_traceback.h
Edit
pycore_tracemalloc.h
Edit
pycore_tuple.h
Edit
pycore_typeobject.h
Edit
pycore_typevarobject.h
Edit
pycore_ucnhash.h
Edit
pycore_unicodeobject.h
Edit
pycore_unicodeobject_generated.h
Edit
pycore_unionobject.h
Edit
pycore_warnings.h
Edit