/opt/imh/python3.13/include/python3.13/internal
NameSizeModeActions
mimalloc/-0755rm
pycore_abstract.h19150644editdlrm
pycore_asdl.h30350644editdlrm
pycore_ast.h315200644editdlrm
pycore_ast_state.h67790644editdlrm
pycore_atexit.h14330644editdlrm
pycore_backoff.h39020644editdlrm
pycore_bitutils.h60260644editdlrm
pycore_blocks_output_buffer.h87720644editdlrm
pycore_brc.h21020644editdlrm
pycore_bytesobject.h50990644editdlrm
pycore_bytes_methods.h39330644editdlrm
pycore_call.h61350644editdlrm
pycore_capsule.h3970644editdlrm
pycore_cell.h10570644editdlrm
pycore_ceval.h111620644editdlrm
pycore_ceval_state.h39210644editdlrm
pycore_code.h198640644editdlrm
pycore_codecs.h24650644editdlrm
pycore_compile.h37500644editdlrm
pycore_complexobject.h5880644editdlrm
pycore_condvar.h27040644editdlrm
pycore_context.h11820644editdlrm
pycore_critical_section.h79680644editdlrm
pycore_crossinterp.h121280644editdlrm
pycore_descrobject.h5430644editdlrm
pycore_dict.h122640644editdlrm
pycore_dict_state.h7320644editdlrm
pycore_dtoa.h17270644editdlrm
pycore_emscripten_signal.h6850644editdlrm
pycore_emscripten_trampoline.h31800644editdlrm
pycore_exceptions.h9000644editdlrm
pycore_faulthandler.h22450644editdlrm
pycore_fileutils.h94680644editdlrm
pycore_fileutils_windows.h27130644editdlrm
pycore_floatobject.h14950644editdlrm
pycore_flowgraph.h14890644editdlrm
pycore_format.h4800644editdlrm
pycore_frame.h108750644editdlrm
pycore_freelist.h48100644editdlrm
pycore_function.h15380644editdlrm
pycore_gc.h129670644editdlrm
pycore_genobject.h8590644editdlrm
pycore_getopt.h4900644editdlrm
pycore_gil.h21960644editdlrm
pycore_global_objects.h30900644editdlrm
pycore_global_objects_fini_generated.h1178040644editdlrm
pycore_global_strings.h267060644editdlrm
pycore_hamt.h37420644editdlrm
pycore_hashtable.h43610644editdlrm
pycore_identifier.h5150644editdlrm
pycore_import.h77310644editdlrm
pycore_importdl.h40550644editdlrm
pycore_initconfig.h63750644editdlrm
pycore_instruction_sequence.h21610644editdlrm
pycore_instruments.h23310644editdlrm
pycore_interp.h150630644editdlrm
pycore_intrinsics.h17560644editdlrm
pycore_jit.h5270644editdlrm
pycore_list.h18590644editdlrm
pycore_llist.h24200644editdlrm
pycore_lock.h85380644editdlrm
pycore_long.h99660644editdlrm
pycore_memoryobject.h4270644editdlrm
pycore_mimalloc.h16370644editdlrm
pycore_modsupport.h33510644editdlrm
pycore_moduleobject.h15720644editdlrm
pycore_namespace.h4350644editdlrm
pycore_object.h279360644editdlrm
pycore_object_alloc.h21760644editdlrm
pycore_object_stack.h23840644editdlrm
pycore_object_state.h9420644editdlrm
pycore_obmalloc.h274180644editdlrm
pycore_obmalloc_init.h19350644editdlrm
pycore_opcode_metadata.h847220644editdlrm
pycore_opcode_utils.h21220644editdlrm
pycore_optimizer.h83030644editdlrm
pycore_parking_lot.h33510644editdlrm
pycore_parser.h20890644editdlrm
pycore_pathconfig.h6580644editdlrm
pycore_pyarena.h28620644editdlrm
pycore_pyatomic_ft_wrappers.h80560644editdlrm
pycore_pybuffer.h5100644editdlrm
pycore_pyerrors.h49600644editdlrm
pycore_pyhash.h28130644editdlrm
pycore_pylifecycle.h44650644editdlrm
pycore_pymath.h86000644editdlrm
pycore_pymem.h44850644editdlrm
pycore_pymem_init.h35200644editdlrm
pycore_pystate.h99640644editdlrm
pycore_pystats.h4200644editdlrm
pycore_pythonrun.h7580644editdlrm
pycore_pythread.h54310644editdlrm
pycore_qsbr.h55240644editdlrm
pycore_range.h3460644editdlrm
pycore_runtime.h131650644editdlrm
pycore_runtime_init.h130450644editdlrm
pycore_runtime_init_generated.h468200644editdlrm
pycore_semaphore.h17310644editdlrm
pycore_setobject.h9510644editdlrm
pycore_signal.h29310644editdlrm
pycore_sliceobject.h3690644editdlrm
pycore_stackref.h51860644editdlrm
pycore_strhex.h10130644editdlrm
pycore_structseq.h9630644editdlrm
pycore_symtable.h86710644editdlrm
pycore_sysmodule.h11770644editdlrm
pycore_time.h117940644editdlrm
pycore_token.h30010644editdlrm
pycore_traceback.h36290644editdlrm
pycore_tracemalloc.h45330644editdlrm
pycore_tstate.h13540644editdlrm
pycore_tuple.h8200644editdlrm
pycore_typeobject.h88770644editdlrm
pycore_typevarobject.h9240644editdlrm
pycore_ucnhash.h9580644editdlrm
pycore_unicodeobject.h132700644editdlrm
pycore_unicodeobject_generated.h1321400644editdlrm
pycore_unionobject.h7420644editdlrm
pycore_uop_ids.h102670644editdlrm
pycore_uop_metadata.h394690644editdlrm
pycore_warnings.h8400644editdlrm
pycore_weakref.h38890644editdlrm
Edit: /opt/imh/python3.13/include/python3.13/internal/pycore_ceval_state.h (3921B)
#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_lock.h" // PyMutex #include "pycore_gil.h" // struct _gil_runtime_state typedef int (*_Py_pending_call_func)(void *); struct _pending_call { _Py_pending_call_func func; void *arg; int flags; }; #define PENDINGCALLSARRAYSIZE 300 #define MAXPENDINGCALLS PENDINGCALLSARRAYSIZE /* For interpreter-level pending calls, we want to avoid spending too much time on pending calls in any one thread, so we apply a limit. */ #if MAXPENDINGCALLS > 100 # define MAXPENDINGCALLSLOOP 100 #else # define MAXPENDINGCALLSLOOP MAXPENDINGCALLS #endif /* We keep the number small to preserve as much compatibility as possible with earlier versions. */ #define MAXPENDINGCALLS_MAIN 32 /* For the main thread, we want to make sure all pending calls are run at once, for the sake of prompt signal handling. This is unlikely to cause any problems since there should be very few pending calls for the main thread. */ #define MAXPENDINGCALLSLOOP_MAIN 0 struct _pending_calls { PyThreadState *handling_thread; PyMutex mutex; /* Request for running pending calls. */ int32_t npending; /* The maximum allowed number of pending calls. If the queue fills up to this point then _PyEval_AddPendingCall() will return _Py_ADD_PENDING_FULL. */ int32_t max; /* We don't want a flood of pending calls to interrupt any one thread for too long, so we keep a limit on the number handled per pass. A value of 0 means there is no limit (other than the maximum size of the list of pending calls). */ int32_t maxloop; struct _pending_call calls[PENDINGCALLSARRAYSIZE]; int first; int next; }; 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; Py_ssize_t code_padding; }; #endif struct _ceval_runtime_state { struct { #ifdef PY_HAVE_PERF_TRAMPOLINE perf_status_t status; int perf_trampoline_type; Py_ssize_t extra_code_index; struct code_arena_st *code_arena; struct trampoline_api_st trampoline_api; FILE *map_file; Py_ssize_t persist_after_fork; #else int _not_used; #endif } perf; /* Pending calls to be made only on the main thread. */ // The signal machinery falls back on this // so it must be especially stable and efficient. // For example, we use a preallocated array // for the list of pending calls. struct _pending_calls pending_mainthread; PyMutex sys_trace_profile_mutex; }; #ifdef PY_HAVE_PERF_TRAMPOLINE # define _PyEval_RUNTIME_PERF_INIT \ { \ .status = PERF_STATUS_NO_INIT, \ .extra_code_index = -1, \ .persist_after_fork = 0, \ } #else # define _PyEval_RUNTIME_PERF_INIT {0} #endif struct _ceval_state { /* This variable holds the global instrumentation version. When a thread is running, this value is overlaid onto PyThreadState.eval_breaker so that changes in the instrumentation version will trigger the eval breaker. */ uintptr_t instrumentation_version; int recursion_limit; struct _gil_runtime_state *gil; int own_gil; struct _pending_calls pending; }; #ifdef __cplusplus } #endif #endif /* !Py_INTERNAL_CEVAL_STATE_H */