Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
GH-129709: Clean up tier two#129710
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
GH-129709: Clean up tier two#129710
Uh oh!
There was an error while loading.Please reload this page.
Conversation
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
One question, otherwise looks good.
Uh oh!
There was an error while loading.Please reload this page.
70e387c
intopython:mainUh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Sort of a grab-bag of improvements:
GOTO_ERROR(error)
withERROR_NO_POP()
.GOTO_UNWIND
withGOTO_TIER_ONE
, replaceEXIT_TO_TIER1
withGOTO_TIER_ONE
, unify thegoto_to_tier1
,exit_to_tier1
, anderror_tier_two
labels into theGOTO_TIER_ONE
macro, and remove the unusedexit_to_tier1_dynamic
label andEXIT_TO_TIER1_DYNAMIC
macro.Py_DECREF
andNULL
s oftstate->previous_executor
withPy_CLEAR
calls, sincePy_DECREF
escapes.GOTO_TIER_TWO
macro.CURRENT_TARGET
macro so the same return-to-tier-one logic can be shared by the interpreter and JIT.(void)item;
lines from the abstract interpreter (these were ironically forcing the values to be loaded)._PyFrame_GetBytecode
as non-escaping.PATCH_VALUE
implementation for the JIT templates and the shim frame.