|
133 | 133 | # define LABEL(name) name: |
134 | 134 | #endif |
135 | 135 |
|
136 | | -#if _Py_TAIL_CALL_INTERP || USE_COMPUTED_GOTOS |
| 136 | +#if (_Py_TAIL_CALL_INTERP || USE_COMPUTED_GOTOS) && _Py_TIER2 |
137 | 137 | # define IS_JIT_TRACING() (DISPATCH_TABLE_VAR == TRACING_DISPATCH_TABLE) |
138 | 138 | // Required to not get stuck in infinite pecialization loops due to specialization failure. |
139 | 139 | # define IS_JIT_TRACING_MAKING_PROGRESS() (IS_JIT_TRACING() && !tstate->interp->jit_state.do_not_specialize) |
140 | 140 | # define ENTER_TRACING() \ |
141 | 141 | DISPATCH_TABLE_VAR = TRACING_DISPATCH_TABLE; |
142 | 142 | # define LEAVE_TRACING() \ |
143 | 143 | DISPATCH_TABLE_VAR = DISPATCH_TABLE; |
| 144 | +#else |
| 145 | +# define IS_JIT_TRACING() (0) |
| 146 | +# define IS_JIT_TRACING_MAKING_PROGRESS() (0) |
| 147 | +# define ENTER_TRACING() |
| 148 | +# define LEAVE_TRACING() |
144 | 149 | #endif |
145 | 150 |
|
146 | | - |
147 | 151 | /* PRE_DISPATCH_GOTO() does lltrace if enabled. Normally a no-op */ |
148 | 152 | #ifdef Py_DEBUG |
149 | 153 | #define PRE_DISPATCH_GOTO() if (frame->lltrace >= 5) { \ |
@@ -324,14 +328,10 @@ GETITEM(PyObject *v, Py_ssize_t i) { |
324 | 328 | /* This takes a uint16_t instead of a _Py_BackoffCounter, |
325 | 329 | * because it is used directly on the cache entry in generated code, |
326 | 330 | * which is always an integral type. */ |
327 | | -#if _Py_TIER2 |
328 | 331 | // Force re-specialization when tracing a side exit to get good side exits. |
329 | 332 | #define ADAPTIVE_COUNTER_TRIGGERS(COUNTER) \ |
330 | 333 | backoff_counter_triggers(forge_backoff_counter((COUNTER))) || IS_JIT_TRACING_MAKING_PROGRESS() |
331 | | -#else |
332 | | -#define ADAPTIVE_COUNTER_TRIGGERS(COUNTER) \ |
333 | | - backoff_counter_triggers(forge_backoff_counter((COUNTER))) |
334 | | -#endif |
| 334 | + |
335 | 335 | #define ADVANCE_ADAPTIVE_COUNTER(COUNTER) \ |
336 | 336 | do { \ |
337 | 337 | (COUNTER) = advance_backoff_counter((COUNTER)); \ |
|
0 commit comments