Repository navigation
Preserve spawn hooks when indirect codegen elides a redundant cast - #158
Merged
Merged
Conversation
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.
The supported regen pipeline stopped at two of four WS-SPAWN-PASS hooks with RetroPortingToolKit/snesrecomp#243: the emitter no longer wraps an already-uint16 pointer read in a redundant cast. Accept both balanced spellings while retaining the exact function, instruction block, DP+$18 pointer, value binding and strict four-hook check.
Validation: actual generated baseline and candidate spawn blocks each produce all four hooks. Changing the pointer to DP+$17 leaves only the two unrelated hooks, preserving the negative control. Full supported regen and Release build pass on engine ed0334b (the combined reviewed PR batch); override --check is idempotent. Built MMX movement, current-build save/load and malformed-state survival pass. Brief matched runtime is 4.20 ms/frame baseline and 4.23 ms/frame candidate, neutral within shared-host variation. No generated game code is included.
Tracking: beads-8wg.1.156. Owner merge handoff is pending alongside RetroPortingToolKit/snesrecomp#243, RetroPortingToolKit/snesrecomp#244, RetroPortingToolKit/snesrecomp#245, RetroPortingToolKit/snesrecomp#246 and RetroPortingToolKit/snesrecomp#247.