Skip to content

feat(aot): retain incremental debug facts and scoped obligations - #4422

Closed
yabanana wants to merge 128 commits into
boykopovar:mainfrom
yabanana:feature/aot-optimized-facts
Closed

yabanana wants to merge 128 commits into
boykopovar:mainfrom
yabanana:feature/aot-optimized-facts

Conversation

@yabanana

@yabanana yabanana commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

What

Optimized pad_input currently loses its recovered function signature and fixed stack facts when one local uses a DWARF location list. Keep independently recovered facts in an incremental dossier and identify the remaining qualification obligation by function, DIE, range and stage. The strict API used by existing consumers is unchanged.

The dossier reads lexical/inline scopes, inherited source types and PC-bounded location lists from a matching C DWARF 4 companion. Register/value descriptions remain candidates; source signatures are not promoted to optimized machine ABIs, and scoped locations are not widened into whole-function lifetimes. Missing metadata or changed input remains an explicit obligation/rejection.

Incremental review: yabanana/AnyPS5@767f45c...feature/aot-optimized-facts

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 fe66af13e through 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.

Validation: Apple ARM64, 13 debug-recovery tests including partial-fact retention, changed input, nonplain layouts, optimized values and inherited return types. The dependent consumer batch executes pad_input O2 and independent SHA-256/memcmp components without per-instruction annotation lists. Full final-stack validation and reproduction are reported in the consumer PR. DWARF semantics: https://dwarfstd.org/doc/DWARF4.pdf sections 2.6.2, 2.17 and 3.3.8.

Checklist

Rebase the graphics proposal onto upstream b42ef24 without carrying the historical macOS merge chain. Includes the compiler/runtime prerequisite from PR boykopovar#1835 and the still-required macOS foundation from mugurc/macos-port at 21930ce; those platform changes remain until their upstream PRs land. Preserve upstream starting-quad folding and the qualified vertex lane rule. Keep x87-dependent Math.cpp outside the optional ARM64 graphics closure rather than weakening its ABI assertion.
This was referenced Oct 15, 2026
@yabanana

Copy link
Copy Markdown
Contributor Author

Superseded by #5021, which now contains the consolidated native ARM64 AOT implementation and verified consumers. #1835 remains the architecture discussion. Closing this stacked PR to keep one implementation review; its branch and review history are retained. This is not a merge into main.

@yabanana yabanana closed this Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agc libSceAgc* build ci .github docs libc libkernel needs rebase Conflicts with main, rebase needed prx relinker shader core/shader

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant