Feature or enhancement
Proposal:
This is a follow up to #134584
We have, in the JIT, optimizations to eliminate many _POP_TOP operations. To take advantage of that we have converted many uops to leave their operands on the stack and added subsequent _POP_TOPs to remove them.
See #134584 for many examples of how to do this and why it works.
However, there are still a few uops yet to do. These are:
In addition, POP_ITER, END_FOR and END_SEND can be implemented as macro ops, using POP_TOP to gain the benefit of the the POP_TOP optimization.
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Linked PRs
Feature or enhancement
Proposal:
This is a follow up to #134584
We have, in the JIT, optimizations to eliminate many
_POP_TOPoperations. To take advantage of that we have converted many uops to leave their operands on the stack and added subsequent_POP_TOPs to remove them.See #134584 for many examples of how to do this and why it works.
However, there are still a few uops yet to do. These are:
In addition,
POP_ITER,END_FORandEND_SENDcan be implemented as macro ops, usingPOP_TOPto gain the benefit of the thePOP_TOPoptimization.Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Linked PRs
CALL_INTRINSIC_1to leave its inputs on the stack to be cleaned up by_POP_TOP. #145964SET_UPDATEto leave its inputs on the stack to be cleaned up by_POP_TOP#145979POP_ITERas macro op usingPOP_TOP#146185DICT_UPDATEto leave its inputs on the stack to be cleaned up by_POP_TOP#146190_CALL_INTRINSIC_2to leave its inputs on the stack to be cleaned up by_POP_TOP#146262DICT_MERGEto leave its inputs on the stack to be cleaned up by_POP_TOP#146329LIST_EXTENDto leave its inputs on the stack to be cleaned up by_POP_TOPbe cleaned up by_POP_TOP#146383_CALL_METHOD_DESCRIPTOR_NOARGSto leave its inputs on the stack to be cleaned up by _POP_TOP #148227