summaryrefslogtreecommitdiff
path: root/rts/Exception.cmm
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-10-18 11:06:21 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-10-18 11:06:21 +0000
commit6ea3a1ac9007c48302f886da6923ac68f4e7da6d (patch)
tree0763db384cd808cbfbf7c7b8581d76b2c57d463d /rts/Exception.cmm
parent30ad291abbe718ff9f96469d8c86be0eee55d50c (diff)
downloadhaskell-6ea3a1ac9007c48302f886da6923ac68f4e7da6d.tar.gz
fix -fbreak-on-exception for unregsterised
Diffstat (limited to 'rts/Exception.cmm')
-rw-r--r--rts/Exception.cmm9
1 files changed, 5 insertions, 4 deletions
diff --git a/rts/Exception.cmm b/rts/Exception.cmm
index e6c0c0ff35..6815b79173 100644
--- a/rts/Exception.cmm
+++ b/rts/Exception.cmm
@@ -430,14 +430,15 @@ retry_pop_stack:
// be per-thread.
W_[rts_stop_on_exception] = 0;
("ptr" ioAction) = foreign "C" deRefStablePtr (W_[rts_breakpoint_io_action] "ptr") [];
- Sp = Sp - WDS(6);
- Sp(5) = exception;
- Sp(4) = stg_raise_ret_info;
+ Sp = Sp - WDS(7);
+ Sp(6) = exception;
+ Sp(5) = stg_raise_ret_info;
+ Sp(4) = stg_noforceIO_info; // required for unregisterised
Sp(3) = exception; // the AP_STACK
Sp(2) = base_GHCziBase_True_closure; // dummy breakpoint info
Sp(1) = base_GHCziBase_True_closure; // True <=> a breakpoint
R1 = ioAction;
- jump stg_ap_pppv_info;
+ jump RET_LBL(stg_ap_pppv);
}
}