GH-131798: Allow the JIT to remove more int
/float
/str
guards
#131800
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This changes the definitions of
BINARY_OP_SUBSCR_LIST_INT
,BINARY_OP_SUBSCR_STR_INT
,BINARY_OP_SUBSCR_TUPLE_INT
, andSTORE_SUBSCR_LIST_INT
to use our existingint
/str
guards for their operands (I'll add new guards for the containers themselves in a follow-up PR). This way, they can be removed when possible.As part of this change, get rid of the
_GUARD_BOTH_FLOAT
,_GUARD_BOTH_INT
, and_GUARD_BOTH_UNICODE
micro-ops, since they just make the abstract interpreter more complicated for not much benefit.