Skip to content

Commit b911bb1

Browse files
Move labels into tier 1 generator
1 parent af4bf1a commit b911bb1

File tree

9 files changed

+205
-162
lines changed

9 files changed

+205
-162
lines changed

.gitattributes

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ Programs/test_frozenmain.h generated
9595
Python/Python-ast.c generated
9696
Python/executor_cases.c.h generated
9797
Python/generated_cases.c.h generated
98-
Python/generated_labels.c.h generated
9998
Python/optimizer_cases.c.h generated
10099
Python/opcode_targets.h generated
101100
Python/stdlib_module_names.h generated

Lib/test/test_generated_cases.py

Lines changed: 0 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ def skip_if_different_mount_drives():
3636
import parser
3737
from stack import Local, Stack
3838
import tier1_generator
39-
import labels_generator
4039
import opcode_metadata_generator
4140
import optimizer_generator
4241

@@ -1757,55 +1756,6 @@ def test_kill_in_wrong_order(self):
17571756
with self.assertRaises(SyntaxError):
17581757
self.run_cases_test(input, "")
17591758

1760-
1761-
class TestGeneratedLabels(unittest.TestCase):
1762-
def setUp(self) -> None:
1763-
super().setUp()
1764-
self.maxDiff = None
1765-
1766-
self.temp_dir = tempfile.gettempdir()
1767-
self.temp_input_filename = os.path.join(self.temp_dir, "input.txt")
1768-
self.temp_output_filename = os.path.join(self.temp_dir, "output.txt")
1769-
self.temp_metadata_filename = os.path.join(self.temp_dir, "metadata.txt")
1770-
self.temp_pymetadata_filename = os.path.join(self.temp_dir, "pymetadata.txt")
1771-
self.temp_executor_filename = os.path.join(self.temp_dir, "executor.txt")
1772-
1773-
def tearDown(self) -> None:
1774-
for filename in [
1775-
self.temp_input_filename,
1776-
self.temp_output_filename,
1777-
self.temp_metadata_filename,
1778-
self.temp_pymetadata_filename,
1779-
self.temp_executor_filename,
1780-
]:
1781-
try:
1782-
os.remove(filename)
1783-
except Exception:
1784-
pass
1785-
super().tearDown()
1786-
1787-
def run_cases_test(self, input: str, expected: str):
1788-
with open(self.temp_input_filename, "w+") as temp_input:
1789-
temp_input.write(parser.BEGIN_MARKER)
1790-
temp_input.write(input)
1791-
temp_input.write(parser.END_MARKER)
1792-
temp_input.flush()
1793-
1794-
with handle_stderr():
1795-
labels_generator.generate_labels_from_files(
1796-
[self.temp_input_filename], self.temp_output_filename
1797-
)
1798-
1799-
with open(self.temp_output_filename) as temp_output:
1800-
lines = temp_output.readlines()
1801-
while lines and lines[0].startswith(("// ", "#", " #", "\n")):
1802-
lines.pop(0)
1803-
while lines and lines[-1].startswith(("#", "\n")):
1804-
lines.pop(-1)
1805-
actual = "".join(lines)
1806-
1807-
self.assertEqual(actual.strip(), expected.strip())
1808-
18091759
def test_complex_label(self):
18101760
input = """
18111761
label(my_label) {
@@ -1861,7 +1811,6 @@ def test_multiple_labels(self):
18611811
goto my_label_3;
18621812
}
18631813
"""
1864-
self.run_cases_test(input, output)
18651814

18661815
class TestGeneratedAbstractCases(unittest.TestCase):
18671816
def setUp(self) -> None:

Makefile.pre.in

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1985,7 +1985,7 @@ Objects/mimalloc/page.o: $(srcdir)/Objects/mimalloc/page-queue.c
19851985
.PHONY: regen-cases
19861986
regen-cases: \
19871987
regen-opcode-ids regen-opcode-targets regen-uop-ids regen-opcode-metadata-py \
1988-
regen-generated-cases regen-generated-labels regen-executor-cases regen-optimizer-cases \
1988+
regen-generated-cases regen-executor-cases regen-optimizer-cases \
19891989
regen-opcode-metadata regen-uop-metadata
19901990

19911991
.PHONY: regen-opcode-ids
@@ -2018,13 +2018,6 @@ regen-generated-cases:
20182018
-o $(srcdir)/Python/generated_cases.c.h.new $(srcdir)/Python/bytecodes.c
20192019
$(UPDATE_FILE) $(srcdir)/Python/generated_cases.c.h $(srcdir)/Python/generated_cases.c.h.new
20202020

2021-
.PHONY: regen-generated-labels
2022-
regen-generated-labels:
2023-
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/cases_generator/labels_generator.py \
2024-
-o $(srcdir)/Python/generated_labels.c.h.new $(srcdir)/Python/bytecodes.c
2025-
$(UPDATE_FILE) $(srcdir)/Python/generated_labels.c.h $(srcdir)/Python/generated_labels.c.h.new
2026-
2027-
20282021
.PHONY: regen-executor-cases
20292022
regen-executor-cases:
20302023
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/cases_generator/tier2_generator.py \

PCbuild/regen.targets

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,6 @@
100100
WorkingDirectory="$(PySourcePath)" />
101101
<Exec Command="$(PythonForBuild) Tools\cases_generator\tier1_generator.py Python\bytecodes.c"
102102
WorkingDirectory="$(PySourcePath)" />
103-
<Exec Command="$(PythonForBuild) Tools\cases_generator\labels_generator.py Python\bytecodes.c"
104-
WorkingDirectory="$(PySourcePath)" />
105103
<Exec Command="$(PythonForBuild) Tools\cases_generator\tier2_generator.py Python\bytecodes.c"
106104
WorkingDirectory="$(PySourcePath)" />
107105
<Exec Command="$(PythonForBuild) Tools\cases_generator\optimizer_generator.py Python\optimizer_bytecodes.c Python\bytecodes.c"

Python/ceval.c

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -895,39 +895,9 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int
895895

896896
DISPATCH();
897897

898-
/* Start instructions */
899-
#if !USE_COMPUTED_GOTOS
900-
dispatch_opcode:
901-
switch (opcode)
902-
#endif
903-
{
904-
905898
#include "generated_cases.c.h"
906899

907900

908-
#if USE_COMPUTED_GOTOS
909-
_unknown_opcode:
910-
#else
911-
EXTRA_CASES // From pycore_opcode_metadata.h, a 'case' for each unused opcode
912-
#endif
913-
/* Tell C compilers not to hold the opcode variable in the loop.
914-
next_instr points the current instruction without TARGET(). */
915-
opcode = next_instr->op.code;
916-
_PyErr_Format(tstate, PyExc_SystemError,
917-
"%U:%d: unknown opcode %d",
918-
_PyFrame_GetCode(frame)->co_filename,
919-
PyUnstable_InterpreterFrame_GetLine(frame),
920-
opcode);
921-
goto error;
922-
923-
} /* End instructions */
924-
925-
/* This should never be reached. Every opcode should end with DISPATCH()
926-
or goto error. */
927-
Py_UNREACHABLE();
928-
929-
#include "generated_labels.c.h"
930-
931901
#ifdef _Py_TIER2
932902

933903
// Tier 2 is also here!

Python/generated_cases.c.h

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

Tools/c-analyzer/cpython/_parser.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ def clean_lines(text):
8080
Python/deepfreeze/*.c
8181
Python/frozen_modules/*.h
8282
Python/generated_cases.c.h
83-
Python/generated_labels.c.h
8483
Python/executor_cases.c.h
8584
Python/optimizer_cases.c.h
8685

Tools/cases_generator/labels_generator.py

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)