Eliminate adr+str InlineJITBlockHeader
- Dominant language
- C++
- Stars
- 8k
- Forks
- 351
- Avg merge
- 12h 31m
- Merged PRs (30d)
- 102
Description
What is the inlinejitblockheader for exactly?
> It's what we use for RIP reconstruction
Why can't we keep a table of host pc --> guest rip and just look at the regular backtrace?
> Once we support deferring async signals inside the JIT, we can
> I also did some benchmarking to see the overhead for the adr+str and it fell within noise. It's single cycle + single cycle so it is hard to beat
But on my end multiblock sped up bytemark a lot and I don't think DSE is the reason 😉
Tracker for later.
Contributor guide
Research direction
Start by tracing InlineJITBlockHeader and the adr+str sequence used for RIP reconstruction, then compare that path with the proposed host-PC-to-guest-RIP table and regular backtrace. Done would require a settled design that eliminates the header without regressing deferred async-signal support or the reported multiblock benchmark behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100