diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2017-09-21 18:04:03 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-09-21 20:12:51 -0400 |
commit | 760b9a363cd4e9287a05b23c74357db0e815bdf3 (patch) | |
tree | ad9a0848e00b36470a5b7b9f29b36a7fa289ceaa /rts/Exception.cmm | |
parent | feac0a3bc69fd376231aa3c83d031c131156ddb9 (diff) | |
download | haskell-760b9a363cd4e9287a05b23c74357db0e815bdf3.tar.gz |
rts: Set unwind information for remaining stack frames
Reviewers: austin, erikd, simonmar
Reviewed By: simonmar
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D3985
Diffstat (limited to 'rts/Exception.cmm')
-rw-r--r-- | rts/Exception.cmm | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/rts/Exception.cmm b/rts/Exception.cmm index a27227d547..4970aa25e4 100644 --- a/rts/Exception.cmm +++ b/rts/Exception.cmm @@ -110,6 +110,7 @@ INFO_TABLE_RET(stg_unmaskAsyncExceptionszh_ret, RET_SMALL, W_ info_ptr) INFO_TABLE_RET(stg_maskAsyncExceptionszh_ret, RET_SMALL, W_ info_ptr) return (P_ ret) { + unwind Sp = Sp + WDS(1); StgTSO_flags(CurrentTSO) = %lobits32( TO_W_(StgTSO_flags(CurrentTSO)) @@ -122,6 +123,7 @@ INFO_TABLE_RET(stg_maskAsyncExceptionszh_ret, RET_SMALL, W_ info_ptr) INFO_TABLE_RET(stg_maskUninterruptiblezh_ret, RET_SMALL, W_ info_ptr) return (P_ ret) { + unwind Sp = Sp + WDS(1); StgTSO_flags(CurrentTSO) = %lobits32( (TO_W_(StgTSO_flags(CurrentTSO)) @@ -430,6 +432,7 @@ section "data" { INFO_TABLE_RET(stg_raise_ret, RET_SMALL, W_ info_ptr, P_ exception) return (P_ ret) { + unwind Sp = Sp + WDS(2); W_[no_break_on_exception] = 1; jump stg_raisezh (exception); } |