Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-111520: Integrate the Tier 2 interpreter in the Tier 1 interpreter #111428

Merged
merged 27 commits into from
Nov 1, 2023
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
97984d3
Make all labels in _PyUopExecute end in _tier_two
gvanrossum Oct 27, 2023
157a450
Control lltrace via PYTHON_LLTRACE=N
gvanrossum Oct 27, 2023
d1b9c1b
Rename PYTHONUOPS to PYTHON_UOPS for consistency
gvanrossum Oct 27, 2023
d805312
Integrate Tier 2 into _PyEval_EvalFrameDefault
gvanrossum Oct 27, 2023
e0e60ce
DO NOT MERGE: Always use -Xuops
gvanrossum Aug 9, 2023
a720f1a
Merge branch 'main' into mix-tiers
gvanrossum Oct 30, 2023
b808f6d
Merge branch 'main' into mix-tiers
gvanrossum Oct 31, 2023
a0aed59
Get rid of separate executor.c file
gvanrossum Oct 31, 2023
75605c7
Most suggestions from Mark's code review
gvanrossum Oct 31, 2023
5e84476
Fix test_generated_cases.py by stripping preprocessor prefix/suffix
gvanrossum Oct 31, 2023
917b7a2
Eradicate executors.c from Windows build files
gvanrossum Nov 1, 2023
9067eb0
Rename deoptimize_tier_two back to deoptimize (for Justin)
gvanrossum Nov 1, 2023
6a4e495
Fix whitespace
gvanrossum Nov 1, 2023
81f1883
Revert "DO NOT MERGE: Always use -Xuops"
gvanrossum Nov 1, 2023
ee27e73
Add blurb
gvanrossum Nov 1, 2023
7ebc228
Add more color to the news blurb
gvanrossum Nov 1, 2023
a1d0108
Merge remote-tracking branch 'origin/main' into mix-tiers
gvanrossum Nov 1, 2023
a96ac7f
Eliminate 'operand' local variable
gvanrossum Nov 1, 2023
e02409d
Rename self -> current_executor (TODO: eliminate it?)
gvanrossum Nov 1, 2023
fdf1a2f
Move `_EXIT_TRACE` logic to a separate label
gvanrossum Nov 1, 2023
2a6450c
Limit infinite recursion in test_typing
gvanrossum Nov 1, 2023
4783de3
Limit infinite recursion in test_fileio
gvanrossum Nov 1, 2023
b9516a1
Limit infinite recursion in test_xml_etree
gvanrossum Nov 1, 2023
33c3fae
Limit infinite recursion in test_call
gvanrossum Nov 1, 2023
998e054
Fix test_call better: adjust Py_C_RECURSION_LIMIT in pystate.h
gvanrossum Nov 1, 2023
19d9d40
Revert unnecessary fixes to recursive tests
gvanrossum Nov 1, 2023
03de1bf
Even better fix -- increase stack space on Windows in debug mode
gvanrossum Nov 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions Lib/test/test_generated_cases.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,17 +118,19 @@ def run_cases_test(self, input: str, expected: str):

with open(self.temp_output_filename) as temp_output:
lines = temp_output.readlines()
while lines and lines[0].startswith("// "):
while lines and lines[0].startswith(("// ", "#", " #", "\n")):
lines.pop(0)
while lines and lines[-1].startswith(("#", "\n")):
lines.pop(-1)
actual = "".join(lines)
# if actual.rstrip() != expected.rstrip():
# if actual.strip() != expected.strip():
# print("Actual:")
# print(actual)
# print("Expected:")
# print(expected)
# print("End")

self.assertEqual(actual.rstrip(), expected.rstrip())
self.assertEqual(actual.strip(), expected.strip())

def test_inst_no_args(self):
input = """
Expand Down
7 changes: 0 additions & 7 deletions Makefile.pre.in
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,6 @@ PYTHON_OBJS= \
Python/crossinterp.o \
Python/dynamic_annotations.o \
Python/errors.o \
Python/executor.o \
Python/flowgraph.o \
Python/frame.o \
Python/frozenmain.o \
Expand Down Expand Up @@ -1603,12 +1602,6 @@ Python/ceval.o: \
$(srcdir)/Python/generated_cases.c.h \
$(srcdir)/Python/opcode_targets.h

Python/executor.o: \
$(srcdir)/Include/internal/pycore_opcode_metadata.h \
$(srcdir)/Include/internal/pycore_optimizer.h \
$(srcdir)/Python/ceval_macros.h \
$(srcdir)/Python/executor_cases.c.h

Python/flowgraph.o: \
$(srcdir)/Include/internal/pycore_opcode_metadata.h

Expand Down
Loading
Loading