You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For some of our jump opcodes target is absolute, so it can easily require EXTENDED_ARGS. Our analysis [1] shows that turning all absolute jumps into relative jumps will eliminate almost all EXTENDED_ARGS on jumps.
This will require a _BACK version for each jump type, which negates the oparg.
Activity
iritkatriel commentedon Mar 25, 2022
For some of our jump opcodes target is absolute, so it can easily require EXTENDED_ARGS. Our analysis [1] shows that turning all absolute jumps into relative jumps will eliminate almost all EXTENDED_ARGS on jumps.
This will require a _BACK version for each jump type, which negates the oparg.
[1] faster-cpython/ideas#235 (reply in thread)
[-]Make all jumps relative[/-][+]Make all jump opcodes relative[/+][-]Make all jumps relative[/-][+]Make all jump opcodes relative[/+]markshannon commentedon Mar 31, 2022
New changeset a00518d by Irit Katriel in branch 'main':
bpo-47120: Replace the JUMP_ABSOLUTE opcode by the relative JUMP_BACKWARD (GH-32115)
a00518d
brandtbucher commentedon Mar 31, 2022
Another benefit of this work is that we'll be able to remove
first_instrfrom the eval loop.iritkatriel commentedon Apr 5, 2022
New changeset 0aa8d5c by Irit Katriel in branch 'main':
bpo-47120: make JUMP_NO_INTERRUPT relative (GH-32221)
0aa8d5c
gh-91276: make space for longer opcodes in dis output (GH-91444)
gh-91276: Make JUMP_IF_TRUE_OR_POP/JUMP_IF_FALSE_OR_POP relative (GH-…
iritkatriel commentedon Apr 15, 2022
This is complete.
pythongh-91276: revert the increase of dis output width
Merge branch 'main' into pythongh-91276
gh-91276: revert the increase of dis output width (GH-92126)
pythongh-91276: remove unused _PyOpcode_RelativeJump
gh-91276: remove unused _PyOpcode_RelativeJump (#103156)
pythongh-91276: remove unused _PyOpcode_RelativeJump (python#103156)
pythongh-91276: remove unused _PyOpcode_RelativeJump (python#103156)