Repository navigation
Inline bytecode caches #90997
Description
Activity
...as discussed in faster-cpython/ideas#263.
My plan is for this initial PR to lay the groundwork, then to work on porting over the existing opcode caches one-by-one. Once that's done, we can clean up lots of the "old" machinery.
- addedinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)performancePerformance or resource usagePerformance or resource usage3.11only security fixesonly security fixes
on Feb 24, 2022 - addedinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)performancePerformance or resource usagePerformance or resource usage
on Feb 24, 2022 We need to decide what to do about dis.
I don't think we should have a
show_cacheoption, as the caches are meaningless junk without quickening (maybe we should drop the CACHE opcode, and just use zeroes).Instead we should have a
show_quickenedoption, to show the quickened form, which we need to make clear is very much implementation defined.
E.g. Cinder might show the machine code as well.That way, we can present the cache information as extra data on the quickened form, rather than junk instructions.
Making this a release blocker, as we really cannot leave this half finished for the release.
Shouldn't be a problem, as we'll have it done in a week or so.
35 remaining items
- added a commit that references this issue
on Aug 5, 2022 - added a commit that references this issue
on Aug 19, 2022 Is there anything left to do here?
No. This is done.
- added a commit that references this issue
on Mar 11, 2023
BINARY_OP#31543LOAD_GLOBALinline. #31575UNPACK_SEQUENCE#31591BINARY_SUBSCR. #31618COMPARE_OP#31622COMPARE_OP#31663GET_AWAITABLE#31664BINARY_OP's handling of inline caches #31671STORE_SUBSCR#31742_Py_SET_OPCODEmacro #31780throw()#31968bytesobject for_co_code_adaptive#32205Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
Linked PRs
LOAD_GLOBALcaches #102569