-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
Closed
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
When instrumenting, instructions are first de-optimized to their base instruction.
When instrumentation is removed we assume that specialization will restore the specialized instruction.
However, that doesn't happen for LOAD_CONST_IMMORTAL
because LOAD_CONST_IMMORTAL
isn't a specialization form of LOAD_CONST
, but a quickened form of it.
The fix should be simple. Instead of quickening LOAD_CONST
to LOAD_CONST_IMMORTAL
, we add a LOAD_CONST_MORTAL
and have LOAD_CONST
specialize (rather than quicken) to either LOAD_CONST_MORTAL
or LOAD_CONST_IMMORTAL
.
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Linked PRs
Metadata
Metadata
Assignees
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error