@@ -12,6 +12,7 @@ extern "C" {
1212#include <assert.h>
1313#include <stdbool.h>
1414#include "pycore_structs.h" // _Py_BackoffCounter
15+ #include "pycore_tstate.h" // _PyPolicy
1516
1617/* 16-bit countdown counters using exponential backoff.
1718
@@ -127,10 +128,11 @@ trigger_backoff_counter(void)
127128#define JUMP_BACKWARD_INITIAL_VALUE 4000
128129#define JUMP_BACKWARD_INITIAL_BACKOFF 6
129130static inline _Py_BackoffCounter
130- initial_jump_backoff_counter (void )
131+ initial_jump_backoff_counter (_PyPolicy * policy )
131132{
132- return make_backoff_counter (JUMP_BACKWARD_INITIAL_VALUE ,
133- JUMP_BACKWARD_INITIAL_BACKOFF );
133+ return make_backoff_counter (
134+ policy -> interp .jump_backward_initial_value ,
135+ policy -> interp .jump_backward_initial_backoff );
134136}
135137
136138/* Initial exit temperature.
@@ -141,10 +143,11 @@ initial_jump_backoff_counter(void)
141143#define SIDE_EXIT_INITIAL_BACKOFF 6
142144
143145static inline _Py_BackoffCounter
144- initial_temperature_backoff_counter (void )
146+ initial_temperature_backoff_counter (_PyPolicy * policy )
145147{
146- return make_backoff_counter (SIDE_EXIT_INITIAL_VALUE ,
147- SIDE_EXIT_INITIAL_BACKOFF );
148+ return make_backoff_counter (
149+ policy -> jit .side_exit_initial_value ,
150+ policy -> jit .side_exit_initial_backoff );
148151}
149152
150153/* Unreachable backoff counter. */
0 commit comments