R1 = StgCatchRetryFrame_first_code(frame);
StgCatchRetryFrame_first_code_trec(frame) = new_trec;
}
- Sp_adj(-1);
- jump RET_LBL(stg_ap_v);
+ jump stg_ap_v_fast;
}
}
"ptr" trec = foreign "C" stmStartTransaction(MyCapability() "ptr", NO_TREC "ptr") [];
StgTSO_trec(CurrentTSO) = trec;
R1 = StgAtomicallyFrame_code(frame);
- Sp_adj(-1);
- jump RET_LBL(stg_ap_v);
+ jump stg_ap_v_fast;
}
}
StgTSO_trec(CurrentTSO) = trec;
StgHeader_info(frame) = stg_atomically_frame_info;
R1 = StgAtomicallyFrame_code(frame);
- Sp_adj(-1);
- jump RET_LBL(stg_ap_v);
+ jump stg_ap_v_fast;
}
}
StgTSO_trec(CurrentTSO) = new_trec;
/* Apply R1 to the realworld token */
- Sp_adj(-1);
- jump RET_LBL(stg_ap_v);
+ jump stg_ap_v_fast;
}
StgCatchSTMFrame_handler(frame) = R2;
/* Apply R1 to the realworld token */
- Sp_adj(-1);
- jump RET_LBL(stg_ap_v);
+ jump stg_ap_v_fast;
}
StgCatchRetryFrame_first_code_trec(frame) = new_trec;
/* Apply R1 to the realworld token */
- Sp_adj(-1);
- jump RET_LBL(stg_ap_v);
+ jump stg_ap_v_fast;
}
StgTSO_trec(CurrentTSO) = trec;
StgCatchRetryFrame_running_alt_code(frame) = 1 :: CInt; // true;
R1 = StgCatchRetryFrame_alt_code(frame);
- Sp_adj(-1);
- jump RET_LBL(stg_ap_v);
+ jump stg_ap_v_fast;
} else {
// Retry in the alternative code: propagate
W_ other_trec;
StgCatchRetryFrame_running_alt_code(frame) = 0 :: CInt; // false;
StgTSO_trec(CurrentTSO) = trec;
R1 = StgCatchRetryFrame_first_code(frame);
- Sp_adj(-1);
- jump RET_LBL(stg_ap_v);
+ jump stg_ap_v_fast;
}
}
}
StgTSO_trec(CurrentTSO) = trec;
R1 = StgAtomicallyFrame_code(frame);
Sp = frame;
- Sp_adj(-1);
- jump RET_LBL(stg_ap_v);
+ jump stg_ap_v_fast;
}
}