cmm: Expose machine's stack pointer and return address registers
ClosedPublic

Authored by bgamari on Sep 5 2015, 9:27 AM.

Details

Summary

We will need to use these to setup proper unwinding information for the
stg_stop_thread closure. This pokes a hole in the STG abstraction,
exposing the machine's stack pointer register so that we can accomplish
this. We also expose a dummy return address register, which corresponds
to the register used to hold the DWARF return address.

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
bgamari updated this revision to Diff 4090.Sep 5 2015, 9:27 AM
bgamari retitled this revision from to cmm: Expose machine's stack and return address register.
bgamari updated this object.
bgamari edited the test plan for this revision. (Show Details)
bgamari added reviewers: simonmar, scpmw.
bgamari retitled this revision from cmm: Expose machine's stack and return address register to cmm: Expose machine's stack pointer and return address registers.
bgamari edited edge metadata.
simonmar accepted this revision.Sep 7 2015, 5:25 AM
simonmar edited edge metadata.

whateverworks

austin accepted this revision.Oct 21 2015, 5:37 PM
austin edited edge metadata.
This revision is now accepted and ready to land.Oct 21 2015, 5:37 PM
bgamari updated this revision to Diff 4614.Oct 23 2015, 4:07 AM
bgamari edited edge metadata.

Rebased

bgamari updated this revision to Diff 4615.Oct 23 2015, 4:07 AM
  • StgStartup: Setup unwinding for stg_stop_thread
  • Libdw: Remove special treatment for stg_stop_thread
This revision was automatically updated to reflect the committed changes.