Skip to content

FEXOfflineCompiler: Add "process-all" verb#5547

Merged
Sonicadvance1 merged 1 commit into
FEX-Emu:mainfrom
neobrain:feature_fexofflinecompiler_process_all
Jun 12, 2026
Merged

FEXOfflineCompiler: Add "process-all" verb#5547
Sonicadvance1 merged 1 commit into
FEX-Emu:mainfrom
neobrain:feature_fexofflinecompiler_process_all

Conversation

@neobrain

@neobrain neobrain commented Jun 3, 2026

Copy link
Copy Markdown
Member

Adds a new command: FEXOfflineCompiler process-all (no arguments).

This operation will take care of any pending code cache operations:

  • import new code maps from CACHE_DIR/codemap/new and process them to CACHE_DIR/codemap/ready
  • generate caches for updated code maps with new blocks (detected via file timestamps)
  • ensure caches already exist for all other code maps (and generate them if needed)

One notable detail is that libraries (DLL) are processed in the context of an executable (EXE), since the latter is what FEXOfflineCompiler will eventually determine the FEXCore configuration from. The proposed patch will already correctly handle if the same library is used by multiple executables (by compiling them only once if FEXCore config is identical, or compiling them twice if not).

In the future we can merge some of the code map processing logic back into FEXServer, but for now I'm keeping it separate until the dust settles. In principle it's very similar though, except that it operates on all code maps wheres FEXServer operates on an individual executable.

Note that this PR implements cache updating logic and code map merging, whereas #5502 lacks the latter.

@bylaws

bylaws commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

code map merging, whereas #5502 lacks the latter... thats because the compile frontend does it. which is a separate binary and unrelated pr

This operation will take care of any pending code cache operations:
* import new code maps from `CACHE_DIR/codemap/new` and process them to `CACHE_DIR/codemap/ready`
* generate caches for updated code maps with new blocks
* ensure caches already exist for all other code maps (and generate them if needed)
@neobrain neobrain force-pushed the feature_fexofflinecompiler_process_all branch from 14c3b63 to 329e561 Compare June 3, 2026 16:42
@Sonicadvance1 Sonicadvance1 merged commit cb01825 into FEX-Emu:main Jun 12, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants