Repository navigation
Conversation
This was referenced Oct 12, 2026
This was referenced Oct 15, 2026
Merged
11 tasks done
11 tasks done
11 tasks done
Contributor
Author
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.
What
The graphics example checked in hundreds of per-instruction guard records that had been expanded by private scripts. This follow-up makes that derivation reproducible in tree: an explicitly qualified recipe supplies the remaining ABI/layout facts and guard policies, and the materializer derives memory-base sites from decoded operands and pointer-argument sites from resolved call ABIs.
This is a draft dependent on #3891 and #1835 while the in-tree AOT direction is undecided. The new review scope is commit 79152cf36, on top of graphics head
798fb84e2; the main-based diff also contains those prerequisites. No new dependency or runtime translation layer is added.For
gpu_cube, the recipe derives 361 memory-base guards and 106 pointer-argument guards, preserving the exact expanded contracts and native object. The checked-in declaration shrinks from 214,252 to 67,273 bytes. This is removal of expanded records, not 70% automatic ABI recovery: all 14 function ABIs, 34 import ABIs, and pointer-load/stack/frame-exclusion obligations remain explicit. Mapping checks do not prove object lifetime, type or full bounds.Input hashes, the canonical fact/policy digest, and source identities (including structured provider evidence) must match. Changed inputs, bindings, ABI/layout facts, source declarations and policies require requalification. Incomplete decoding and unknown indirect-call targets reject with a localized obligation. The compiler still performs its normal semantic checks. The receipt distinguishes declared ABIs, derived records and remaining annotations. The standalone CLI and fixture integration are documented in BUILD.md.
The rebase updates the qualified Process.cpp/RuntimeSupport.cpp identities and fact digest for upstream callback registration; the derivation mechanism is unchanged.
A cross-process check also found unstable flag-emission ordering from Python sets. Sorting that iteration makes the tested shift IR reproducible across hash seeds without changing its native behavior.
Tested
Latest integration checkpoint (12 October): aligned with main
2f4cc8983, including the new component technical-debt layout. The final combined stack with the separate C++ follow-up #4718 passed 588 compiler/relinker/runtime checks and 26 native integrations on Apple Silicon. Rebuilt cube AOT/reference still match all eight RGB frames after 600 flips each; controller and typed module-bundle acceptance pass. These are local results; hosted CI is running on the updated head. Full Linux/Windows builds still require maintainer dispatch.Integration checkpoint, 12 October: merged main
fe66af13ethrough the dependency stack and requalified affected provider identities after reviewing their implementations. The final combined stack passed 526 compiler/relinker/runtime cases, 26 native integration cases, the rebuilt graphics pair (600 flips each, teardown, eight exact RGB frames), controller O2 and SHA/memcmp O0/O2 checks on Apple Silicon. Hosted checks refer to the new head and remain separate from these local results. Full Linux/Windows builds require maintainer dispatch.Apple M5 Max, macOS 27.2, Apple clang 21.0.0:
No game compatibility, general ABI recovery or performance improvement is claimed by this change.
Checklist
Based on current
main; no other open PR implements this materializer (prerequisites listed below)One topic per PR; follow-ups go in a new PR
No comments added in code
Unsupported cases reject; existing compiler validation and guards remain
No investigation notes, logs, screenshots or binary fixtures added
No new third-party dependencies
Generic derivation; input-specific facts stay in the example recipe
Depends on: feat(aot): run source-built graphics on native Apple ARM64 #3891, feat(aot): discuss native ARM64 compiler architecture and integration #1835
AI-assisted: yes
Unblocks: none