Feature or enhancement
Proposal:
Currently the JIT uop buffer modifies uops traces in place.
I think we should make it add to a new buffer. Having modifications be in-place is making our code messy and full of special cases.
So
REPLACE_OP(this_instr, ...)
should become
in optimizer_bytecodes.c,
Also, the default generated case of optimizer_bytecodes.c should be to ADD_OP(pc, ...)
This is also blocking optimization in #143414, as ocassionally we need to insert extra guards to check the uniqueness of an object for example.
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
No response
Linked PRs