FEX-Emu / FEX-Emu/FEX

CodeBuffer management long-term planning

Open
#4,514 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.