Skip to content

Commit eaaf880

Browse files
committed
Remove dead code
1 parent 3f01a7a commit eaaf880

File tree

2 files changed

+1
-147
lines changed

2 files changed

+1
-147
lines changed

Tools/cases_generator/generate_cases.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,6 @@
128128
arg_parser.add_argument(
129129
"input", nargs=argparse.REMAINDER, help="Instruction definition file(s)"
130130
)
131-
arg_parser.add_argument(
132-
"-e",
133-
"--executor-cases",
134-
type=str,
135-
help="Write executor cases to this file",
136-
default=DEFAULT_EXECUTOR_OUTPUT,
137-
)
138131
arg_parser.add_argument(
139132
"-a",
140133
"--abstract-interpreter-cases",
@@ -846,7 +839,6 @@ def main() -> None:
846839
a.assign_opcode_ids()
847840
a.write_opcode_targets(args.opcode_targets_h)
848841
a.write_metadata(args.metadata, args.pymetadata)
849-
a.write_executor_instructions(args.executor_cases, args.emit_line_directives)
850842
a.write_abstract_interpreter_instructions(
851843
args.abstract_interpreter_cases, args.emit_line_directives
852844
)

Tools/cases_generator/tier1_generator.py

Lines changed: 1 addition & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
DEFAULT_INPUT,
2222
ROOT,
2323
write_header,
24+
emit_tokens,
2425
)
2526
from cwriter import CWriter
2627
from typing import TextIO, Iterator
@@ -56,145 +57,6 @@ def declare_variables(inst: Instruction, out: CWriter) -> None:
5657
out.emit(f"{type}{var.name};\n")
5758

5859

59-
def emit_to(out: CWriter, tkn_iter: Iterator[Token], end: str) -> None:
60-
parens = 0
61-
for tkn in tkn_iter:
62-
if tkn.kind == end and parens == 0:
63-
return
64-
if tkn.kind == "LPAREN":
65-
parens += 1
66-
if tkn.kind == "RPAREN":
67-
parens -= 1
68-
out.emit(tkn)
69-
70-
71-
def replace_deopt(
72-
out: CWriter,
73-
tkn: Token,
74-
tkn_iter: Iterator[Token],
75-
uop: Uop,
76-
unused: Stack,
77-
inst: Instruction,
78-
) -> None:
79-
out.emit_at("DEOPT_IF", tkn)
80-
out.emit(next(tkn_iter))
81-
emit_to(out, tkn_iter, "RPAREN")
82-
next(tkn_iter) # Semi colon
83-
out.emit(", ")
84-
assert inst.family is not None
85-
out.emit(inst.family.name)
86-
out.emit(");\n")
87-
88-
89-
def replace_error(
90-
out: CWriter,
91-
tkn: Token,
92-
tkn_iter: Iterator[Token],
93-
uop: Uop,
94-
stack: Stack,
95-
inst: Instruction,
96-
) -> None:
97-
out.emit_at("if ", tkn)
98-
out.emit(next(tkn_iter))
99-
emit_to(out, tkn_iter, "COMMA")
100-
label = next(tkn_iter).text
101-
next(tkn_iter) # RPAREN
102-
next(tkn_iter) # Semi colon
103-
out.emit(") ")
104-
c_offset = stack.peek_offset.to_c()
105-
try:
106-
offset = -int(c_offset)
107-
close = ";\n"
108-
except ValueError:
109-
offset = None
110-
out.emit(f"{{ stack_pointer += {c_offset}; ")
111-
close = "; }\n"
112-
out.emit("goto ")
113-
if offset:
114-
out.emit(f"pop_{offset}_")
115-
out.emit(label)
116-
out.emit(close)
117-
118-
119-
def replace_decrefs(
120-
out: CWriter,
121-
tkn: Token,
122-
tkn_iter: Iterator[Token],
123-
uop: Uop,
124-
stack: Stack,
125-
inst: Instruction,
126-
) -> None:
127-
next(tkn_iter)
128-
next(tkn_iter)
129-
next(tkn_iter)
130-
out.emit_at("", tkn)
131-
for var in uop.stack.inputs:
132-
if var.name == "unused" or var.name == "null" or var.peek:
133-
continue
134-
if var.size != "1":
135-
out.emit(f"for (int _i = {var.size}; --_i >= 0;) {{\n")
136-
out.emit(f"Py_DECREF({var.name}[_i]);\n")
137-
out.emit("}\n")
138-
elif var.condition:
139-
out.emit(f"Py_XDECREF({var.name});\n")
140-
else:
141-
out.emit(f"Py_DECREF({var.name});\n")
142-
143-
144-
def replace_store_sp(
145-
out: CWriter,
146-
tkn: Token,
147-
tkn_iter: Iterator[Token],
148-
uop: Uop,
149-
stack: Stack,
150-
inst: Instruction,
151-
) -> None:
152-
next(tkn_iter)
153-
next(tkn_iter)
154-
next(tkn_iter)
155-
out.emit_at("", tkn)
156-
stack.flush(out)
157-
out.emit("_PyFrame_SetStackPointer(frame, stack_pointer);\n")
158-
159-
160-
def replace_check_eval_breaker(
161-
out: CWriter,
162-
tkn: Token,
163-
tkn_iter: Iterator[Token],
164-
uop: Uop,
165-
stack: Stack,
166-
inst: Instruction,
167-
) -> None:
168-
next(tkn_iter)
169-
next(tkn_iter)
170-
next(tkn_iter)
171-
if not uop.properties.ends_with_eval_breaker:
172-
out.emit_at("CHECK_EVAL_BREAKER();", tkn)
173-
174-
175-
REPLACEMENT_FUNCTIONS = {
176-
"DEOPT_IF": replace_deopt,
177-
"ERROR_IF": replace_error,
178-
"DECREF_INPUTS": replace_decrefs,
179-
"CHECK_EVAL_BREAKER": replace_check_eval_breaker,
180-
"STORE_SP": replace_store_sp,
181-
}
182-
183-
184-
# Move this to formatter
185-
def emit_tokens(out: CWriter, uop: Uop, stack: Stack, inst: Instruction) -> None:
186-
tkns = uop.body[1:-1]
187-
if not tkns:
188-
return
189-
tkn_iter = iter(tkns)
190-
out.start_line()
191-
for tkn in tkn_iter:
192-
if tkn.kind == "IDENTIFIER" and tkn.text in REPLACEMENT_FUNCTIONS:
193-
REPLACEMENT_FUNCTIONS[tkn.text](out, tkn, tkn_iter, uop, stack, inst)
194-
else:
195-
out.emit(tkn)
196-
197-
19860
def write_uop(
19961
uop: Part, out: CWriter, offset: int, stack: Stack, inst: Instruction, braces: bool
20062
) -> int:

0 commit comments

Comments
 (0)