1
1
mirror of https://github.com/tweag/asterius.git synced 2024-08-16 12:10:33 +03:00
This commit is contained in:
Cheng Shao 2020-12-14 15:19:23 +00:00
parent 3217ab838e
commit 0d86245f0f
2 changed files with 0 additions and 55 deletions

View File

@ -68,7 +68,6 @@ frontendPlugin = do
GHC.sPgm_i = "false"
}
}
`GHC.gopt_set` GHC.Opt_EagerBlackHoling
`GHC.gopt_set` GHC.Opt_ExternalInterpreter
when is_debug $ do
dflags <- GHC.getSessionDynFlags

View File

@ -63,31 +63,6 @@
#define NEED_EVAL(__x__) GETTAG(__x__) == 0
#endif
#if defined(ASTERIUS)
#define SELECTOR_CODE_UPD(offset) \
INFO_TABLE_SELECTOR(stg_sel_##offset##_upd, offset, THUNK_SELECTOR, "stg_sel_upd", "stg_sel_upd") \
(P_ node) \
{ \
P_ selectee, field, dest; \
TICK_ENT_DYN_THK(); \
STK_CHK_NP(node); \
UPD_BH_UPDATABLE(node); \
LDV_ENTER(node); \
selectee = StgThunk_payload(node,0); \
push (UPDATE_FRAME_FIELDS(,,stg_marked_upd_frame_info,CCCS,0,node)) { \
ENTER_CCS_THUNK(node); \
if (NEED_EVAL(selectee)) { \
SAVE_CCS; \
dest = UNTAG_IF_PROF(selectee); /* Note [untag for prof] */ \
(P_ constr) = call %GET_ENTRY(dest) (dest); \
RESTORE_CCS; \
selectee = constr; \
} \
field = StgClosure_payload(UNTAG(selectee),offset); \
jump stg_ap_0_fast(field); \
} \
}
#else
#define SELECTOR_CODE_UPD(offset) \
INFO_TABLE_SELECTOR(stg_sel_##offset##_upd, offset, THUNK_SELECTOR, "stg_sel_upd", "stg_sel_upd") \
(P_ node) \
@ -111,7 +86,6 @@
jump stg_ap_0_fast(field); \
} \
}
#endif
/* NOTE: no need to ENTER() here, we know the closure cannot
evaluate to a function, because we're going to do a field
selection on the result. */
@ -199,11 +173,7 @@ INFO_TABLE(stg_ap_1_upd,1,0,THUNK_1_0,"stg_ap_1_upd_info","stg_ap_1_upd_info")
STK_CHK_NP(node);
UPD_BH_UPDATABLE(node);
LDV_ENTER(node);
#if defined(ASTERIUS)
push (UPDATE_FRAME_FIELDS(,,stg_marked_upd_frame_info, CCCS, 0, node)) {
#else
push (UPDATE_FRAME_FIELDS(,,stg_upd_frame_info, CCCS, 0, node)) {
#endif
ENTER_CCS_THUNK(node);
jump stg_ap_0_fast
(StgThunk_payload(node,0));
@ -217,11 +187,7 @@ INFO_TABLE(stg_ap_2_upd,2,0,THUNK_2_0,"stg_ap_2_upd_info","stg_ap_2_upd_info")
STK_CHK_NP(node);
UPD_BH_UPDATABLE(node);
LDV_ENTER(node);
#if defined(ASTERIUS)
push (UPDATE_FRAME_FIELDS(,,stg_marked_upd_frame_info, CCCS, 0, node)) {
#else
push (UPDATE_FRAME_FIELDS(,,stg_upd_frame_info, CCCS, 0, node)) {
#endif
ENTER_CCS_THUNK(node);
jump stg_ap_p_fast
(StgThunk_payload(node,0),
@ -236,11 +202,7 @@ INFO_TABLE(stg_ap_3_upd,3,0,THUNK,"stg_ap_3_upd_info","stg_ap_3_upd_info")
STK_CHK_NP(node);
UPD_BH_UPDATABLE(node);
LDV_ENTER(node);
#if defined(ASTERIUS)
push (UPDATE_FRAME_FIELDS(,,stg_marked_upd_frame_info, CCCS, 0, node)) {
#else
push (UPDATE_FRAME_FIELDS(,,stg_upd_frame_info, CCCS, 0, node)) {
#endif
ENTER_CCS_THUNK(node);
jump stg_ap_pp_fast
(StgThunk_payload(node,0),
@ -256,11 +218,7 @@ INFO_TABLE(stg_ap_4_upd,4,0,THUNK,"stg_ap_4_upd_info","stg_ap_4_upd_info")
STK_CHK_NP(node);
UPD_BH_UPDATABLE(node);
LDV_ENTER(node);
#if defined(ASTERIUS)
push (UPDATE_FRAME_FIELDS(,,stg_marked_upd_frame_info, CCCS, 0, node)) {
#else
push (UPDATE_FRAME_FIELDS(,,stg_upd_frame_info, CCCS, 0, node)) {
#endif
ENTER_CCS_THUNK(node);
jump stg_ap_ppp_fast
(StgThunk_payload(node,0),
@ -277,11 +235,7 @@ INFO_TABLE(stg_ap_5_upd,5,0,THUNK,"stg_ap_5_upd_info","stg_ap_5_upd_info")
STK_CHK_NP(node);
UPD_BH_UPDATABLE(node);
LDV_ENTER(node);
#if defined(ASTERIUS)
push (UPDATE_FRAME_FIELDS(,,stg_marked_upd_frame_info, CCCS, 0, node)) {
#else
push (UPDATE_FRAME_FIELDS(,,stg_upd_frame_info, CCCS, 0, node)) {
#endif
ENTER_CCS_THUNK(node);
jump stg_ap_pppp_fast
(StgThunk_payload(node,0),
@ -299,11 +253,7 @@ INFO_TABLE(stg_ap_6_upd,6,0,THUNK,"stg_ap_6_upd_info","stg_ap_6_upd_info")
STK_CHK_NP(node);
UPD_BH_UPDATABLE(node);
LDV_ENTER(node);
#if defined(ASTERIUS)
push (UPDATE_FRAME_FIELDS(,,stg_marked_upd_frame_info, CCCS, 0, node)) {
#else
push (UPDATE_FRAME_FIELDS(,,stg_upd_frame_info, CCCS, 0, node)) {
#endif
ENTER_CCS_THUNK(node);
jump stg_ap_ppppp_fast
(StgThunk_payload(node,0),
@ -322,11 +272,7 @@ INFO_TABLE(stg_ap_7_upd,7,0,THUNK,"stg_ap_7_upd_info","stg_ap_7_upd_info")
STK_CHK_NP(node);
UPD_BH_UPDATABLE(node);
LDV_ENTER(node);
#if defined(ASTERIUS)
push (UPDATE_FRAME_FIELDS(,,stg_marked_upd_frame_info, CCCS, 0, node)) {
#else
push (UPDATE_FRAME_FIELDS(,,stg_upd_frame_info, CCCS, 0, node)) {
#endif
ENTER_CCS_THUNK(node);
jump stg_ap_pppppp_fast
(StgThunk_payload(node,0),