// End Jit tracing state
bool jit;
bool compiling;
- struct _PyUOpInstruction *jit_uop_buffer;
struct _PyExecutorObject *executor_list_head;
struct _PyExecutorObject *executor_deletion_list_head;
struct _PyExecutorObject *cold_executor;
{
_PyBloomFilter *dependencies = &tstate->interp->jit_tracer_dependencies;
PyInterpreterState *interp = _PyInterpreterState_GET();
- if (interp->jit_uop_buffer == NULL) {
- interp->jit_uop_buffer = (_PyUOpInstruction *)_PyObject_VirtualAlloc(UOP_BUFFER_SIZE);
- if (interp->jit_uop_buffer == NULL) {
- return 0;
- }
- }
_PyUOpInstruction *buffer = interp->jit_tracer_code_buffer;
OPT_STAT_INC(attempts);
char *env_var = Py_GETENV("PYTHON_UOPS_OPTIMIZE");
#endif
#ifdef _Py_TIER2
- // Ensure the buffer is to be set as NULL.
- interp->jit_uop_buffer = NULL;
interp->jit_tracer_code_buffer = NULL;
interp->jit_tracer_initial_instr = NULL;
interp->jit_tracer_initial_stack_depth = -1;
#ifdef _Py_TIER2
_Py_ClearExecutorDeletionList(interp);
- if (interp->jit_uop_buffer != NULL) {
- _PyObject_VirtualFree(interp->jit_uop_buffer, UOP_BUFFER_SIZE);
- interp->jit_uop_buffer = NULL;
- }
if (interp->jit_tracer_code_buffer != NULL) {
_PyObject_VirtualFree(interp->jit_tracer_code_buffer, UOP_BUFFER_SIZE);
interp->jit_tracer_code_buffer = NULL;