Uh oh!
There was an error while loading. Please reload this page.
GH-137959: Replace shim code in jitted code with a single trampoline function. - #137961
Conversation
markshannon
commented
Aug 20, 2025
Benchmark results show a hint of a speedup, but in the noise. No slowdown, though. |
Fidget-Spinner
left a comment
There was a problem hiding this comment.
Some things I observed. Correct me if I'm wrong:
- This actually splits out the tier 2 interpreter from the tier 1 interpreter. Which is likely a significant saving for our tier 2 debug build time and tier 2 interpreter. Nice!
- The shim/trampoline is only compiled once lazily and reused across the whole runtime. Then reused across all JIT functions. We currently do two jumps (one into the shim/trampoline, one into the exec->jit_code). You need to lock this with a mutex in case multiple threads try to compile the shim at the same time.
If my understanding above is correct, then this is alright to me.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
markshannon
commented
Aug 21, 2025
That is all correct. I'll add a comment explaining it. |
Uh oh!
There was an error while loading. Please reload this page.
brandtbucher
commented
Aug 21, 2025
Nice, sorry I wasn't able to review in time, but it looks mostly good (love the unification of the two JIT execution engines). Two notes:
|
Uh oh!
There was an error while loading. Please reload this page.