diff options
author | David Terei <davidterei@gmail.com> | 2012-01-07 02:53:31 -0800 |
---|---|---|
committer | David Terei <davidterei@gmail.com> | 2012-01-09 17:01:45 -0800 |
commit | a63c4237469307c425456c6acf1578f47c86f3a4 (patch) | |
tree | 1c130e30d6bffb449530857dcb167ebe7f1eda3e /rts/Updates.cmm | |
parent | 4384e146640230399b38cd62e8e5df391f72c3a7 (diff) | |
download | haskell-a63c4237469307c425456c6acf1578f47c86f3a4.tar.gz |
Add live stg info to Updates.cmm (fixes #4308)
Diffstat (limited to 'rts/Updates.cmm')
-rw-r--r-- | rts/Updates.cmm | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/rts/Updates.cmm b/rts/Updates.cmm index 0b43b9cdf1..44fbc0e194 100644 --- a/rts/Updates.cmm +++ b/rts/Updates.cmm @@ -50,7 +50,7 @@ INFO_TABLE_RET( stg_upd_frame, UPDATE_FRAME, UPD_FRAME_PARAMS) updateWithIndirection(updatee, R1, - jump %ENTRY_CODE(Sp(0))); + jump %ENTRY_CODE(Sp(0)) [R1]); } @@ -72,21 +72,21 @@ INFO_TABLE_RET( stg_marked_upd_frame, UPDATE_FRAME, UPD_FRAME_PARAMS) R1 = v; foreign "C" checkBlockingQueues(MyCapability() "ptr", CurrentTSO "ptr") [R1]; - jump %ENTRY_CODE(Sp(0)); + jump %ENTRY_CODE(Sp(0)) [R1]; } // common case: it is still our BLACKHOLE if (v == CurrentTSO) { updateWithIndirection(updatee, R1, - jump %ENTRY_CODE(Sp(0))); + jump %ENTRY_CODE(Sp(0)) [R1]); } // The other cases are all handled by the generic code foreign "C" updateThunk (MyCapability() "ptr", CurrentTSO "ptr", updatee "ptr", R1 "ptr") [R1]; - jump %ENTRY_CODE(Sp(0)); + jump %ENTRY_CODE(Sp(0)) [R1]; } // Special update frame code for CAFs and eager-blackholed thunks: it @@ -95,5 +95,6 @@ INFO_TABLE_RET( stg_marked_upd_frame, UPDATE_FRAME, UPD_FRAME_PARAMS) // high watermark. INFO_TABLE_RET (stg_bh_upd_frame, UPDATE_FRAME, UPD_FRAME_PARAMS) { - jump RET_LBL(stg_marked_upd_frame); + jump RET_LBL(stg_marked_upd_frame) [R1]; } + |