Repository navigation
Conversation
angerman
force-pushed
the
feat/aarch64-dwarf-signpost
branch
from
March 12, 2026 05:27
b203c9e to
eeb6c01
Compare
angerman
force-pushed
the
stable-ghc-9.14
branch
from
August 29, 2026 02:25
2c2ebfa to
a4f2bdf
Compare
angerman
force-pushed
the
stable-ghc-9.14
branch
from
August 30, 2026 01:45
8bdf55f to
93c3dc1
Compare
angerman
force-pushed
the
feat/aarch64-dwarf-signpost
branch
from
August 31, 2026 04:28
108cdd1 to
4521a53
Compare
angerman
force-pushed
the
feat/aarch64-dwarf-signpost
branch
from
September 15, 2026 02:11
4521a53 to
a23fb26
Compare
Author
|
Rebased onto #188 tip and fixed the FreeBSD cabal failure:
Tip: |
Author
|
Fix push |
Author
|
Another fix — FreeBSD failed again, but this time at Tip now includes:
|
Track Cmm unwind nodes and machine stack adjustments, use AArch64 DWARF register numbers and extended encodings, and emit procedure range labels on ELF and Mach-O. Preserve the C stack separately from the Haskell CFA. Move the Linux/Darwin AArch64 STG runner into StgCRunAsm.S so its CFI describes a complete frame rather than guessing the C compiler frame around inline assembly. Describe save/restore transitions and connect the bottom STG frame to StgRunJmp. Add assembler and nested callback ABI regressions.
Create a process-lifetime log once, gate emission and runtime availability, and keep each GC interval ID on the initiating collector stack. This avoids capability-array resizing and stale or orphan interval IDs when instrumentation is toggled. Forward user events directly from Darwin PrimOps in vanilla, tracing, and DTrace ways. Add observable mock-backend concurrency and pairing checks, and verify disabled non-Darwin macros do not evaluate arguments.
angerman
force-pushed
the
feat/aarch64-dwarf-signpost
branch
from
October 17, 2026 01:01
db9e027 to
2256029
Compare
This branch has not been deployed
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.
Add AArch64 DWARF unwind support and macOS RTS signposts in two separate commits.
The unwind commit retains Cmm unwind points through register allocation, encodes machine-SP and floating-point register rules correctly, and describes the full C-to-STG boundary in assembly. The boundary uses restored machine SP rather than a frame pointer that an unsafe foreign call can overwrite. The signpost commit emits GC intervals with their actual generation, thread events, and user events, including vanilla RTS ways; it avoids shared interval-ID arrays and guards macOS API availability.
Validation: independent Astra review is clear. Real Mach-O/ELF assembly and DWARF decoding, runner ABI/callback tests, signpost concurrency/disabled-path tests, and focused emitter/type checks pass. All 15 affected NCG modules also typecheck verbatim against the freshly built current-stable API, with no compatibility adapters. A live Apple libunwind regression fails before the boundary correction by 16,560 bytes and passes after it. Fresh integrated compiler/NCG CI and a complete Haskell debugger walk remain outstanding; no profiler-overhead claim is made.
Rebased on current
stable-ghc-9.14, retaining #197 CPU metadata. Historical CI edits, test stderr suppression, timeout/fragile changes, and JavaScript coverage reductions are excluded.