-
-
Notifications
You must be signed in to change notification settings - Fork 30.3k
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
The code generated for the interpreter(s) is too fragile #111485
Labels
interpreter-core
(Objects, Python, Grammar, and Parser dirs)
Comments
markshannon
added a commit
that referenced
this issue
Oct 31, 2023
markshannon
added a commit
that referenced
this issue
Oct 31, 2023
This was referenced Oct 31, 2023
markshannon
added a commit
that referenced
this issue
Nov 1, 2023
gvanrossum
added a commit
that referenced
this issue
Nov 1, 2023
FullteaR
pushed a commit
to FullteaR/cpython
that referenced
this issue
Nov 3, 2023
…the instruction. (pythonGH-111486)
FullteaR
pushed a commit
to FullteaR/cpython
that referenced
this issue
Nov 3, 2023
FullteaR
pushed a commit
to FullteaR/cpython
that referenced
this issue
Nov 3, 2023
FullteaR
pushed a commit
to FullteaR/cpython
that referenced
this issue
Nov 3, 2023
This was referenced Nov 3, 2023
brandtbucher
added a commit
that referenced
this issue
Nov 7, 2023
markshannon
added a commit
that referenced
this issue
Nov 7, 2023
hugovk
pushed a commit
to hugovk/cpython
that referenced
this issue
Nov 8, 2023
hugovk
pushed a commit
to hugovk/cpython
that referenced
this issue
Nov 8, 2023
@markshannon ^^ |
Indeed. That doesn't look right. |
This was referenced Nov 22, 2023
markshannon
added a commit
that referenced
this issue
Nov 22, 2023
iritkatriel
added
the
interpreter-core
(Objects, Python, Grammar, and Parser dirs)
label
Dec 1, 2023
markshannon
added a commit
that referenced
this issue
Dec 8, 2023
aisk
pushed a commit
to aisk/cpython
that referenced
this issue
Feb 11, 2024
…he interpreter code generator (pythonGH-112968)
aisk
pushed a commit
to aisk/cpython
that referenced
this issue
Feb 11, 2024
aisk
pushed a commit
to aisk/cpython
that referenced
this issue
Feb 11, 2024
aisk
pushed a commit
to aisk/cpython
that referenced
this issue
Feb 11, 2024
aisk
pushed a commit
to aisk/cpython
that referenced
this issue
Feb 11, 2024
… component micro-ops (pythonGH-113169)
aisk
pushed a commit
to aisk/cpython
that referenced
this issue
Feb 11, 2024
aisk
pushed a commit
to aisk/cpython
that referenced
this issue
Feb 11, 2024
aisk
pushed a commit
to aisk/cpython
that referenced
this issue
Feb 11, 2024
aisk
pushed a commit
to aisk/cpython
that referenced
this issue
Feb 11, 2024
aisk
pushed a commit
to aisk/cpython
that referenced
this issue
Feb 11, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
…the instruction. (pythonGH-111486)
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
…f tier 1 code generator (pythonGH-112299)
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
…he interpreter code generator (pythonGH-112968)
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
… component micro-ops (pythonGH-113169)
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Glyphack
pushed a commit
to Glyphack/cpython
that referenced
this issue
Sep 2, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Changing the name of an instruction, or slight changes in cache size can cause the generated code to be incorrect in odd ways.
This is a result of there being too many special cases and undocumented assumptions built in to the code generator.
This was a natural result of getting the thing working and was, until now, acceptable technical debt.
However, as we want to generate abstract interpreters, a new combiner tier-1/tier-2 interpreter and possible tail-calling interprtet/JIT compiler pair, things are too fragile.
We need to:
bytecodes.c
Linked PRs
next_instr
consistently at the start of the instruction. #111486BEFORE_WITH
a uop #111812TIER_ONE_ONLY
#113155TARGET
table for computed goto dispatch. #113319FOR_ITER
in tier2 #113394The text was updated successfully, but these errors were encountered: