@@ -757,31 +757,35 @@ struct _Py_unique_id_pool {
757757
758758typedef _Py_CODEUNIT * (* _PyJitEntryFuncPtr )(struct _PyExecutorObject * exec , _PyInterpreterFrame * frame , _PyStackRef * stack_pointer , PyThreadState * tstate );
759759
760+ typedef struct _PyJitTracerInitialState {
761+ int stack_depth ;
762+ int chain_depth ;
763+ struct _PyExitData * exit ;
764+ PyCodeObject * code ; // Strong
765+ PyFunctionObject * func ; // Strong
766+ _Py_CODEUNIT * start_instr ;
767+ _Py_CODEUNIT * close_loop_instr ;
768+ _Py_CODEUNIT * jump_backward_instr ;
769+ } _PyJitTracerInitialState ;
770+
771+ typedef struct _PyJitTracerPreviousState {
772+ bool dependencies_still_valid ;
773+ bool instr_is_super ;
774+ int code_max_size ;
775+ int code_curr_size ;
776+ int instr_oparg ;
777+ int instr_stacklevel ;
778+ int specialize_counter ;
779+ _Py_CODEUNIT * instr ;
780+ PyCodeObject * instr_code ; // Strong
781+ _PyInterpreterFrame * instr_frame ;
782+ _PyBloomFilter dependencies ;
783+ } _PyJitTracerPreviousState ;
784+
760785typedef struct _PyJitTracerState {
761- struct {
762- int stack_depth ;
763- int chain_depth ;
764- struct _PyExitData * exit ;
765- PyCodeObject * code ; // Strong
766- PyFunctionObject * func ; // Strong
767- _Py_CODEUNIT * start_instr ;
768- _Py_CODEUNIT * close_loop_instr ;
769- _Py_CODEUNIT * jump_backward_instr ;
770- } initial_state ;
771786 _PyUOpInstruction * code_buffer ;
772- struct {
773- bool dependencies_still_valid ;
774- bool instr_is_super ;
775- int code_max_size ;
776- int code_curr_size ;
777- int instr_oparg ;
778- int instr_stacklevel ;
779- int specialize_counter ;
780- _Py_CODEUNIT * instr ;
781- PyCodeObject * instr_code ; // Strong
782- _PyInterpreterFrame * instr_frame ;
783- _PyBloomFilter dependencies ;
784- } prev_state ;;
787+ _PyJitTracerInitialState initial_state ;
788+ _PyJitTracerPreviousState prev_state ;
785789} _PyJitTracerState ;
786790
787791/* PyInterpreterState holds the global state for one of the runtime's
0 commit comments