summaryrefslogtreecommitdiff
path: root/rts/StgStartup.cmm
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2022-04-28 15:24:50 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-04-28 22:20:10 -0400
commit22cf46980ad9b57eb428e7be045a1bc198b6380d (patch)
tree7c85b09677c64ff93ae5055cbec2b9d042452031 /rts/StgStartup.cmm
parentd182897e738ae1fb594ddc88cc27f607266ef5d1 (diff)
downloadhaskell-22cf46980ad9b57eb428e7be045a1bc198b6380d.tar.gz
Revert "rts: Refactor handling of dead threads' stacks"
This reverts commit e09afbf2a998beea7783e3de5dce5dd3c6ff23db.
Diffstat (limited to 'rts/StgStartup.cmm')
-rw-r--r--rts/StgStartup.cmm16
1 files changed, 8 insertions, 8 deletions
diff --git a/rts/StgStartup.cmm b/rts/StgStartup.cmm
index 6d3d47f54f..122eace1f3 100644
--- a/rts/StgStartup.cmm
+++ b/rts/StgStartup.cmm
@@ -51,13 +51,13 @@ INFO_TABLE_RET(stg_stop_thread, STOP_FRAME,
We Leave the stack looking like this:
- +----------------------+
- | -----------------------> return value
- +----------------------+
- | stg_dead_thread_info |
- +----------------------+
+ +----------------+
+ | -------------------> return value
+ +----------------+
+ | stg_enter_info |
+ +----------------+
- The stg_dead_thread_info is just a dummy info table so that the
+ The stg_enter_info is just a dummy info table so that the
garbage collector can understand the stack (there must always
be an info table on top of the stack).
*/
@@ -70,9 +70,9 @@ INFO_TABLE_RET(stg_stop_thread, STOP_FRAME,
unwind UnwindReturnReg = return;
#endif
- Sp = Sp + SIZEOF_StgStopFrame - SIZEOF_StgDeadThreadFrame;
- Sp(0) = stg_dead_thread_info;
+ Sp = Sp + SIZEOF_StgStopFrame - WDS(2);
Sp(1) = R1;
+ Sp(0) = stg_enter_info;
StgTSO_what_next(CurrentTSO) = ThreadComplete::I16;