X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc%2Frts%2FStgStdThunks.cmm;h=342a6eb1648a608065fed24371f102c385386767;hp=4da42489baacb5451fc28f33e90efda0836b0dae;hb=04db0e9fa47ce4dfbcb73ec1752d94195f3b394e;hpb=174c7f292b3c18c9cc44c21bd07111f351e3913c diff --git a/ghc/rts/StgStdThunks.cmm b/ghc/rts/StgStdThunks.cmm index 4da4248..342a6eb 100644 --- a/ghc/rts/StgStdThunks.cmm +++ b/ghc/rts/StgStdThunks.cmm @@ -153,8 +153,7 @@ INFO_TABLE(stg_ap_1_upd,1,1,THUNK_1_0,"stg_ap_1_upd_info","stg_ap_1_upd_info") PUSH_UPD_FRAME(Sp-SIZEOF_StgUpdateFrame,R1); R1 = StgThunk_payload(R1,0); Sp = Sp - SIZEOF_StgUpdateFrame; - Sp_adj(-1); // for stg_ap_0_ret - jump RET_LBL(stg_ap_0); + jump stg_ap_0_fast; } INFO_TABLE(stg_ap_2_upd,2,0,THUNK_2_0,"stg_ap_2_upd_info","stg_ap_2_upd_info") @@ -168,7 +167,7 @@ INFO_TABLE(stg_ap_2_upd,2,0,THUNK_2_0,"stg_ap_2_upd_info","stg_ap_2_upd_info") W_[Sp-SIZEOF_StgUpdateFrame-WDS(1)] = StgThunk_payload(R1,1); R1 = StgThunk_payload(R1,0); Sp = Sp - SIZEOF_StgUpdateFrame - WDS(1); - Sp_adj(-1); // for stg_ap_0_ret + Sp_adj(-1); // for stg_ap_*_ret TICK_UNKNOWN_CALL(); TICK_SLOW_CALL_p(); jump RET_LBL(stg_ap_p); @@ -186,7 +185,7 @@ INFO_TABLE(stg_ap_3_upd,3,0,THUNK,"stg_ap_3_upd_info","stg_ap_3_upd_info") W_[Sp-SIZEOF_StgUpdateFrame-WDS(2)] = StgThunk_payload(R1,1); R1 = StgThunk_payload(R1,0); Sp = Sp - SIZEOF_StgUpdateFrame - WDS(2); - Sp_adj(-1); // for stg_ap_0_ret + Sp_adj(-1); // for stg_ap_*_ret TICK_UNKNOWN_CALL(); TICK_SLOW_CALL_pp(); jump RET_LBL(stg_ap_pp); @@ -205,7 +204,7 @@ INFO_TABLE(stg_ap_4_upd,4,0,THUNK,"stg_ap_4_upd_info","stg_ap_4_upd_info") W_[Sp-SIZEOF_StgUpdateFrame-WDS(3)] = StgThunk_payload(R1,1); R1 = StgThunk_payload(R1,0); Sp = Sp - SIZEOF_StgUpdateFrame - WDS(3); - Sp_adj(-1); // for stg_ap_0_ret + Sp_adj(-1); // for stg_ap_*_ret TICK_UNKNOWN_CALL(); TICK_SLOW_CALL_ppp(); jump RET_LBL(stg_ap_ppp); @@ -225,7 +224,7 @@ INFO_TABLE(stg_ap_5_upd,5,0,THUNK,"stg_ap_5_upd_info","stg_ap_5_upd_info") W_[Sp-SIZEOF_StgUpdateFrame-WDS(4)] = StgThunk_payload(R1,1); R1 = StgThunk_payload(R1,0); Sp = Sp - SIZEOF_StgUpdateFrame - WDS(4); - Sp_adj(-1); // for stg_ap_0_ret + Sp_adj(-1); // for stg_ap_*_ret TICK_UNKNOWN_CALL(); TICK_SLOW_CALL_pppp(); jump RET_LBL(stg_ap_pppp); @@ -246,7 +245,7 @@ INFO_TABLE(stg_ap_6_upd,6,0,THUNK,"stg_ap_6_upd_info","stg_ap_6_upd_info") W_[Sp-SIZEOF_StgUpdateFrame-WDS(5)] = StgThunk_payload(R1,1); R1 = StgThunk_payload(R1,0); Sp = Sp - SIZEOF_StgUpdateFrame - WDS(5); - Sp_adj(-1); // for stg_ap_0_ret + Sp_adj(-1); // for stg_ap_*_ret TICK_UNKNOWN_CALL(); TICK_SLOW_CALL_ppppp(); jump RET_LBL(stg_ap_ppppp); @@ -268,7 +267,7 @@ INFO_TABLE(stg_ap_7_upd,7,0,THUNK,"stg_ap_7_upd_info","stg_ap_7_upd_info") W_[Sp-SIZEOF_StgUpdateFrame-WDS(6)] = StgThunk_payload(R1,1); R1 = StgThunk_payload(R1,0); Sp = Sp - SIZEOF_StgUpdateFrame - WDS(6); - Sp_adj(-1); // for stg_ap_0_ret + Sp_adj(-1); // for stg_ap_*_ret TICK_UNKNOWN_CALL(); TICK_SLOW_CALL_pppppp(); jump RET_LBL(stg_ap_pppppp);