summaryrefslogtreecommitdiffstats
path: root/Tools/build
diff options
context:
space:
mode:
authorMark Shannon <mark@hotpy.org>2023-07-04 16:23:00 (GMT)
committerGitHub <noreply@github.com>2023-07-04 16:23:00 (GMT)
commit318ea2c72e9aed7ac92457c28747eda9424c8327 (patch)
tree76e36a8bfdc7a6702b4fa5f4c7c34944efafc6d6 /Tools/build
parent80f1c6c49b4cd2bf698eb2bc3d2f3da904880dd2 (diff)
downloadcpython-318ea2c72e9aed7ac92457c28747eda9424c8327.zip
cpython-318ea2c72e9aed7ac92457c28747eda9424c8327.tar.gz
cpython-318ea2c72e9aed7ac92457c28747eda9424c8327.tar.bz2
GH-106360: Support very basic superblock introspection (#106422)
* Add len() and indexing support to uop superblocks.
Diffstat (limited to 'Tools/build')
-rw-r--r--Tools/build/generate_opcode_h.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/Tools/build/generate_opcode_h.py b/Tools/build/generate_opcode_h.py
index 4711fbb..2e841e6 100644
--- a/Tools/build/generate_opcode_h.py
+++ b/Tools/build/generate_opcode_h.py
@@ -184,14 +184,15 @@ def main(opcode_py,
fobj.write(f"#define ENABLE_SPECIALIZATION {int(ENABLE_SPECIALIZATION)}")
iobj.write("\n")
- iobj.write("#ifdef Py_DEBUG\n")
- iobj.write(f"static const char *const _PyOpcode_OpName[{NUM_OPCODES}] = {{\n")
+ iobj.write(f"\nextern const char *const _PyOpcode_OpName[{NUM_OPCODES}];\n")
+ iobj.write("\n#ifdef NEED_OPCODE_TABLES\n")
+ iobj.write(f"const char *const _PyOpcode_OpName[{NUM_OPCODES}] = {{\n")
for op, name in enumerate(opname_including_specialized):
if name[0] != "<":
op = name
iobj.write(f''' [{op}] = "{name}",\n''')
iobj.write("};\n")
- iobj.write("#endif\n")
+ iobj.write("#endif // NEED_OPCODE_TABLES\n")
iobj.write("\n")
iobj.write("#define EXTRA_CASES \\\n")