gh-143158: Hot cold code splitting for JIT compiler#149292
Conversation
|
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
Documentation build overview
79 files changed ·
|
|
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
d6ce2a1 to
c180cc0
Compare
|
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
c180cc0 to
f56e969
Compare
|
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
`replace` didn't preserve relocation; root block should be at the start of the block list; fix the pc-relative addressing of branching between hot and cold sections
|
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
|
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
|
Most changes to Python require a NEWS entry. Add one using the blurb_it web app or the blurb command-line tool. If this change has little impact on Python users, wait for a maintainer to apply the |
|
@Fidget-Spinner would you mind helping me mark this PR with |
Issue: gh-143158
This PR implements trace-level hot/cold code splitting for the JIT.
Previously, each uop stencil was emitted as one contiguous code block, so hot fast-path code and rarely executed cold/error-path code were interleaved
throughout the compiled trace:
[uop0 hot+cold][uop1 hot+cold][uop2 hot+cold]...This change separates each stencil into hot and cold code and emits the trace as:
[uop0 hot][uop1 hot][uop2 hot]...[uop0 cold][uop1 cold][uop2 cold]...Plan:
_JIT_CONTINUEand introduce_JIT_COLD_STARTfor positioning.