Skip to content

Commit 13ad45d

Browse files
Move state to elsewhere
1 parent 8f7b4f4 commit 13ad45d

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

Include/internal/pycore_tstate.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,17 @@ typedef struct _PyJitTracerPreviousState {
4545
PyCodeObject *instr_code; // Strong
4646
struct _PyInterpreterFrame *instr_frame;
4747
_PyBloomFilter dependencies;
48-
int jump_backward_seen;
4948
} _PyJitTracerPreviousState;
5049

50+
typedef struct _PyJitTracerTranslatorState {
51+
int jump_backward_seen;
52+
} _PyJitTracerTranslatorState;
53+
5154
typedef struct _PyJitTracerState {
5255
_PyUOpInstruction *code_buffer;
5356
_PyJitTracerInitialState initial_state;
5457
_PyJitTracerPreviousState prev_state;
58+
_PyJitTracerTranslatorState translator_state;
5559
} _PyJitTracerState;
5660
#endif
5761

Python/optimizer.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,7 @@ _PyJit_translate_single_bytecode_to_trace(
827827
// We don't want to continue tracing as we might get stuck in the
828828
// inner loop. Instead, end the trace where the executor of the
829829
// inner loop might start and let the traces rejoin.
830-
if (_tstate->jit_tracer_state.prev_state.jump_backward_seen >= 1 ||
830+
if (_tstate->jit_tracer_state.translator_state.jump_backward_seen >= 1 ||
831831
// Also end the trace early if we probably have no more space left, as it's better
832832
// to link to another backwards jump trace.
833833
trace_length >= (_tstate->jit_tracer_state.prev_state.code_max_size / 3)) {
@@ -839,8 +839,8 @@ _PyJit_translate_single_bytecode_to_trace(
839839
goto done;
840840
}
841841
else {
842-
assert(_tstate->jit_tracer_state.prev_state.jump_backward_seen == 0);
843-
_tstate->jit_tracer_state.prev_state.jump_backward_seen++;
842+
assert(_tstate->jit_tracer_state.translator_state.jump_backward_seen == 0);
843+
_tstate->jit_tracer_state.translator_state.jump_backward_seen++;
844844
}
845845
}
846846
break;
@@ -1073,7 +1073,7 @@ _PyJit_TryInitializeTracing(
10731073
_tstate->jit_tracer_state.initial_state.exit = exit;
10741074
_tstate->jit_tracer_state.initial_state.stack_depth = curr_stackdepth;
10751075
_tstate->jit_tracer_state.initial_state.chain_depth = chain_depth;
1076-
_tstate->jit_tracer_state.prev_state.jump_backward_seen = 0;
1076+
_tstate->jit_tracer_state.translator_state.jump_backward_seen = 0;
10771077
_tstate->jit_tracer_state.prev_state.instr_frame = frame;
10781078
_tstate->jit_tracer_state.prev_state.dependencies_still_valid = true;
10791079
_tstate->jit_tracer_state.prev_state.instr_code = (PyCodeObject *)Py_NewRef(_PyFrame_GetCode(frame));

0 commit comments

Comments
 (0)