CodeBuffer management long-term planning
- Dominant language
- C++
- Stars
- 8k
- Forks
- 351
- Avg merge
- 12h 31m
- Merged PRs (30d)
- 102
Description
#4479 is laying the ground work to restructure CodeBuffer handling for on-disk code caching, however there are more changes that are worth working on in the future.
Here's a list of ideas:
* [ ] Preserve old CodeBuffer data on resize by relocation
* [ ] Detect and discard stale CodeBuffer versions more eagerly (i.e. before new code is compiled)
* [ ] Use dedicated CodeBuffer for ephemeral compilation (TSO automigration, SMC, TF, CompileSingleStep)
* [ ] Re-enable parallel compiler backend operation by compiling to temp CodeBuffer and relocating it
* [ ] Use smarter underlying CodeBuffer data structures to share memory allocations between versions
* [ ] Improve code invalidation logic for self-modifying code (currently will just keep growing the buffers)
Contributor guide
Research direction
Start with #4479 and the CodeBuffer handling it is restructuring. Choose one listed area, such as resize relocation, stale-version cleanup, or dedicated buffers for TSO automigration, SMC, TF, or CompileSingleStep, then trace the relevant compiler backend paths. The issue names no files or tests; done would need to be defined for the selected goal.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100