FEXOfflineCompiler: Add "process-all" verb#5547
Merged
Sonicadvance1 merged 1 commit intoJun 12, 2026
Merged
Conversation
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)
14c3b63 to
329e561
Compare
Sonicadvance1
approved these changes
Jun 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a new command:
FEXOfflineCompiler process-all(no arguments).This operation will take care of any pending code cache operations:
CACHE_DIR/codemap/newand process them toCACHE_DIR/codemap/readyOne 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.