-
-
Notifications
You must be signed in to change notification settings - Fork 34.5k
JIT optimizer cleanups #143421
Copy link
Copy link
Closed
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-JITtype-featureA feature request or enhancementA feature request or enhancement
Metadata
Metadata
Assignees
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-JITtype-featureA feature request or enhancementA feature request or enhancement
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
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
JitOptContextfrom stack allocation to per-thread heap allocation to avoid stack overflow. #143536