Skip to content

Commit f0ccb28

Browse files
committed
Address code review
1 parent 196d204 commit f0ccb28

File tree

4 files changed

+21
-14
lines changed

4 files changed

+21
-14
lines changed

Include/internal/pycore_tstate.h

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,25 @@ typedef struct _PyJitTracerState {
5454
} _PyJitTracerState;
5555

5656
typedef struct _PyJitPolicy {
57-
uint16_t jump_backward_initial_value;
58-
uint16_t jump_backward_initial_backoff;
5957
uint16_t side_exit_initial_value;
6058
uint16_t side_exit_initial_backoff;
6159
} _PyJitPolicy;
6260

61+
#endif
62+
63+
typedef struct _PyInterpreterPolicy {
64+
uint16_t jump_backward_initial_value;
65+
uint16_t jump_backward_initial_backoff;
66+
} _PyInterpreterPolicy;
67+
68+
6369
typedef struct _PyPolicy {
64-
_PyJitPolicy jit;
65-
} _PyPolicy;
6670

71+
#ifdef _Py_TIER2
72+
_PyJitPolicy jit;
6773
#endif
74+
_PyInterpreterPolicy interp;
75+
} _PyPolicy;
6876

6977
// Every PyThreadState is actually allocated as a _PyThreadStateImpl. The
7078
// PyThreadState fields are exposed as part of the C API, although most fields

Python/ceval.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1474,8 +1474,8 @@ stop_tracing_and_jit(PyThreadState *tstate, _PyInterpreterFrame *frame)
14741474
}
14751475
else {
14761476
_tstate->jit_tracer_state.initial_state.jump_backward_instr[1].counter = initial_jump_backoff_counter(
1477-
_tstate->policy.jit.jump_backward_initial_value,
1478-
_tstate->policy.jit.jump_backward_initial_backoff);
1477+
_tstate->policy.interp.jump_backward_initial_value,
1478+
_tstate->policy.interp.jump_backward_initial_backoff);
14791479
}
14801480
}
14811481
else {

Python/pystate.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1439,7 +1439,6 @@ decref_threadstate(_PyThreadStateImpl *tstate)
14391439
}
14401440
}
14411441

1442-
#ifdef _Py_TIER2
14431442
static inline void
14441443
init_jit_metric(uint16_t *target, const char *env_name, uint16_t default_value,
14451444
long min_value, long max_value)
@@ -1453,7 +1452,6 @@ init_jit_metric(uint16_t *target, const char *env_name, uint16_t default_value,
14531452
}
14541453
}
14551454
}
1456-
#endif
14571455

14581456
/* Get the thread state to a minimal consistent state.
14591457
Further init happens in pylifecycle.c before it can be used.
@@ -1540,14 +1538,15 @@ init_threadstate(_PyThreadStateImpl *_tstate,
15401538

15411539
_tstate->asyncio_running_loop = NULL;
15421540
_tstate->asyncio_running_task = NULL;
1543-
#ifdef _Py_TIER2
1544-
// Initialize JIT policy from environment variables
1545-
init_jit_metric(&_tstate->policy.jit.jump_backward_initial_value,
1541+
// Initialize interpreter policy from environment variables
1542+
init_jit_metric(&_tstate->policy.interp.jump_backward_initial_value,
15461543
"PYTHON_JIT_JUMP_BACKWARD_INITIAL_VALUE",
15471544
JUMP_BACKWARD_INITIAL_VALUE, 1, MAX_VALUE);
1548-
init_jit_metric(&_tstate->policy.jit.jump_backward_initial_backoff,
1545+
init_jit_metric(&_tstate->policy.interp.jump_backward_initial_backoff,
15491546
"PYTHON_JIT_JUMP_BACKWARD_INITIAL_BACKOFF",
15501547
JUMP_BACKWARD_INITIAL_BACKOFF, 0, MAX_BACKOFF);
1548+
#ifdef _Py_TIER2
1549+
// Initialize JIT policy from environment variables
15511550
init_jit_metric(&_tstate->policy.jit.side_exit_initial_value,
15521551
"PYTHON_JIT_SIDE_EXIT_INITIAL_VALUE",
15531552
SIDE_EXIT_INITIAL_VALUE, 1, MAX_VALUE);

Python/specialize.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ _PyCode_Quicken(_Py_CODEUNIT *instructions, Py_ssize_t size, int enable_counters
5050
PyThreadState *tstate = _PyThreadState_GET();
5151
_PyThreadStateImpl *tstate_impl = (_PyThreadStateImpl *)tstate;
5252
jump_counter = initial_jump_backoff_counter(
53-
tstate_impl->policy.jit.jump_backward_initial_value,
54-
tstate_impl->policy.jit.jump_backward_initial_backoff);
53+
tstate_impl->policy.interp.jump_backward_initial_value,
54+
tstate_impl->policy.interp.jump_backward_initial_backoff);
5555
adaptive_counter = adaptive_counter_warmup();
5656
}
5757
else {

0 commit comments

Comments
 (0)