GH-118093: Add tier two support for BINARY_OP_INPLACE_ADD_UNICODE
#122253
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 one's a bit weird, since it needs the oparg of the following instruction. This is readily available in tier one, but needs to be smuggled in using an operand in tier two.
Technically, it would be cleaner to just add an additional cache entry to all
BINARY_OP
instructions and use that here. However, that feels very wasteful for an instruction that already requires quite a bit of special-casing anyways. So instead, just toss the needed value in the operand during projection.This is mostly for completeness. No impact on perf or stats, although if you squint hard enough you can see very slight increases in trace length and decreases in number of traces and tier one instructions.