mirror of
https://github.com/python/cpython.git
synced 2025-11-01 06:01:29 +00:00
GH-106360: Support very basic superblock introspection (#106422)
* Add len() and indexing support to uop superblocks.
This commit is contained in:
parent
80f1c6c49b
commit
318ea2c72e
8 changed files with 130 additions and 14 deletions
|
|
@ -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")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue