&&TARGET_INSTRUMENTED_LINE,
&&TARGET_ENTER_EXECUTOR,
};
+#if _Py_TIER2
static void *opcode_tracing_targets_table[256] = {
&&TARGET_TRACING_CACHE,
&&TARGET_TRACING_BINARY_SLICE,
&&TARGET_TRACING_INSTRUMENTED_LINE,
&&TARGET_TRACING_ENTER_EXECUTOR,
};
+#endif
#else /* _Py_TAIL_CALL_INTERP */
static py_tail_call_funcptr instruction_funcptr_handler_table[256];
for name, op in analysis.opmap.items():
if op < 256:
targets[op] = f"&&TARGET_TRACING_{name},\n"
+ out.emit("#if _Py_TIER2\n")
out.emit("static void *opcode_tracing_targets_table[256] = {\n")
for target in targets:
out.emit(target)
out.emit("};\n")
+ out.emit(f"#endif\n")
out.emit("#else /* _Py_TAIL_CALL_INTERP */\n")
def function_proto(name: str) -> str: