8000 [3.14] gh-128045: Mark unknown opcodes as deopting to themselves (GH-… · python/cpython@c869898 · GitHub
[go: up one dir, main page]

Skip to content

Commit c869898

Browse files
[3.14] gh-128045: Mark unknown opcodes as deopting to themselves (GH-128044) (#134228)
* gh-128045: Mark unknown opcodes as deopting to themselves (GH-128044)
1 parent 7d995ea commit c869898

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

Include/internal/pycore_opcode_metadata.h

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Tools/cases_generator/opcode_metadata_generator.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,13 @@ def generate_deopt_table(analysis: Analysis, out: CWriter) -> None:
157157
if inst.family is not None:
158158
deopt = inst.family.name
159159
deopts.append((inst.name, deopt))
160+
defined = set(analysis.opmap.values())
161+
for i in range(256):
162+
if i not in defined:
163+
deopts.append((f'{i}', f'{i}'))
164+
165+
assert len(deopts) == 256
166+
assert len(set(x[0] for x in deopts)) == 256
160167
for name, deopt in sorted(deopts):
161168
out.emit(f"[{name}] = {deopt},\n")
162169
out.emit("};\n\n")

0 commit comments

Comments
 (0)
0