-
-
-================================================================================
-STG syntax:
-a{-r5u,x-} =
- [] \r [$x0_s1iK]
- case $x0_s1iK ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of {
- -- lvs: [$x0_s1iK]; rhs lvs: []; uniq: c1pz
- STBase.S#{-5D,w-}{i} $x1_s1jb ->
- case
- _ccall_ a [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-})]# [$x1_s1jb] ::STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}
- of {
- -- lvs: [$x1_s1jb]; rhs lvs: []; uniq: c1pA
- STBase.StateAndInt#{-5v,w-}{i} $x2_s1jl $x3_s1ja ->
- let { $x4_s1jL = PrelBase.I#{-5b,w-}{i}! [$x3_s1ja]; } in
- let { $x5_s1jK = STBase.S#{-5D,w-}{i}! [$x2_s1jl];
- } in PrelTup.(,){-62,w-}{i}! [$x4_s1jL $x5_s1jK];
- };
- };
-b{-r5v,x-} =
- [] \r [$x0_s1jJ]
- case $x0_s1jJ ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of {
- -- lvs: [$x0_s1jJ]; rhs lvs: []; uniq: c1pB
- STBase.S#{-5D,w-}{i} $x1_s1kc ->
- case
- _ccall_ b [(Foreign.StateAndStablePtr#{-3J,W-} GHC.RealWorld{-3s,W-} PrelBase.Int{-3g,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-})]# [$x1_s1kc] ::Foreign.StateAndStablePtr#{-3J,W-} GHC.RealWorld{-3s,W-} PrelBase.Int{-3g,W-}
- of {
- -- lvs: [$x1_s1kc]; rhs lvs: []; uniq: c1pC
- Foreign.StateAndStablePtr#{-5B,w-}{i} $x2_s1km $x3_s1kb ->
- let { $x4_s1kO = Foreign.StablePtr{-5o,w-}{i}! [$x3_s1kb]; } in
- let { $x5_s1kN = STBase.S#{-5D,w-}{i}! [$x2_s1km];
- } in PrelTup.(,){-62,w-}{i}! [$x4_s1kO $x5_s1kN];
- };
- };
-c{-r5w,x-} =
- [] \r [$x0_s1kX]
- let {
- stg_c1oM =
- (False, True, False, False, True) [$x0_s1kX] \r [$x1_s1kM]
- case
- $x1_s1kM{-lvs:$x0_s1kX-} ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}
- of {
- -- lvs: [$x1_s1kM $x0_s1kX]; rhs lvs: [$x0_s1kX]; uniq: c1pD
- STBase.S#{-5D,w-}{i} $x2_s1kY ->
- case $x0_s1kX{-lvs:$x2_s1kY-} ::Foreign.ForeignObj{-3l,W-} of {
- -- lvs: [$x0_s1kX $x2_s1kY]; rhs lvs: [$x2_s1kY]; uniq: c1pE
- Foreign.ForeignObj{-5f,w-}{i} $x3_s1lo ->
- case
- _ccall_ c [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-}) GHC.ForeignObj#{-3k,W-}]# [$x2_s1kY $x3_s1lo] ::STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}
- of {
- -- lvs: [$x2_s1kY $x3_s1lo]; rhs lvs: []; uniq: c1pF
- STBase.StateAndInt#{-5v,w-}{i} $x4_s1lz $x5_s1lp ->
- let { $x6_s1m3 = PrelBase.I#{-5b,w-}{i}! [$x5_s1lp]; } in
- let { $x7_s1m2 = STBase.S#{-5D,w-}{i}! [$x4_s1lz];
- } in PrelTup.(,){-62,w-}{i}! [$x6_s1m3 $x7_s1m2];
- };
- };
- };
- } in stg_c1oM;
-d{-r5x,x-} =
- [] \r [$x0_s1mc]
- let {
- stg_c1oc =
- (False, True, False, False, True) [$x0_s1mc] \r [$x1_s1m1]
- case
- $x1_s1m1{-lvs:$x0_s1mc-} ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}
- of {
- -- lvs: [$x1_s1m1 $x0_s1mc]; rhs lvs: [$x0_s1mc]; uniq: c1pG
- STBase.S#{-5D,w-}{i} $x2_s1md ->
- case
- $x0_s1mc{-lvs:$x2_s1md-} ::Foreign.StablePtr{-3w,W-} PrelBase.Int{-3g,W-}
- of {
- -- lvs: [$x0_s1mc $x2_s1md]; rhs lvs: [$x2_s1md]; uniq: c1pH
- Foreign.StablePtr{-5o,w-}{i} $x3_s1mD ->
- case
- _ccall_ d [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-}) (GHC.StablePtr#{-3v,W-} PrelBase.Int{-3g,W-})]# [$x2_s1md $x3_s1mD] ::STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}
- of {
- -- lvs: [$x2_s1md $x3_s1mD]; rhs lvs: []; uniq: c1pI
- STBase.StateAndInt#{-5v,w-}{i} $x4_s1mO $x5_s1mE ->
- let { $x6_s1n5 = PrelBase.I#{-5b,w-}{i}! [$x5_s1mE]; } in
- let { $x7_s1n6 = STBase.S#{-5D,w-}{i}! [$x4_s1mO];
- } in PrelTup.(,){-62,w-}{i}! [$x6_s1n5 $x7_s1n6];
- };
- };
- };
- } in stg_c1oc;
-
-
-================================================================================
-Flat Abstract C:
-IFN_(ret_c1pz) {
-ED_RO_(PrelBase_IZh_con_info);
-ED_(STBase_SZh_static_closure);
-ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
-I_ s1ja_;
- FB_
- HEAP_CHK(0,(_FHS+1),0);
- {
- I_ _ccall_result;
- CALLER_SAVE_Base
- CALLER_SAVE_SpA
- CALLER_SAVE_SuA
- CALLER_SAVE_SpB
- CALLER_SAVE_SuB
- CALLER_SAVE_Ret
- CALLER_SAVE_Hp
- CALLER_SAVE_HpLim
- _ccall_result = (a());
- CALLER_RESTORE_Base
- CALLER_RESTORE_SpA
- CALLER_RESTORE_SuA
- CALLER_RESTORE_SpB
- CALLER_RESTORE_SuB
- CALLER_RESTORE_Ret
- CALLER_RESTORE_Hp
- CALLER_RESTORE_HpLim
- CALLER_RESTORE_StdUpdRetVec
- CALLER_RESTORE_StkStub
- s1ja_=_ccall_result;
- }
- SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0);
- *Hp=(W_)(s1ja_);
- R4.p=STBase_SZh_static_closure;
- R3.p=Hp-_FHS;
- SpB=SpB-1;
- R2.d=PrelTup_Z40Z44Z41_inregs_info;
- GRAN_EXEC(10,2,21,22,0);
- JMP_(DIRECT((StgRetAddr)(SpB[1])));
- FE_
-}
-UNVECTBL(static,vtbl_c1pz,ret_c1pz)
-STATIC_ITBL(Test_a_info,Test_a_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0);
-FN_(Test_a_entry) {
-ED_(Test_a_closure);
-EF_(Test_a_fast1);
- FB_
- ARGS_CHK_A_LOAD_NODE(1,Test_a_closure);
- R1.p=*SpA;
- SpA=SpA+1;
- GRAN_EXEC(5,2,1,0,0);
- JMP_(Test_a_fast1);
- FE_
-}
-FN_(Test_a_fast1) {
- FB_
- STK_CHK(1,0,1,0,0,0,0);
- SpB[1]=(W_)(RetReg);
- RetReg=(StgRetAddr)UNVEC(ret_c1pz,vtbl_c1pz);
- SpB=SpB+1;
- ENT_VIA_NODE();
- GRAN_EXEC(3,1,1,1,0);
- JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
- FE_
-}
-SET_STATIC_HDR(Test_a_closure,Test_a_info,0,,ED_RO_)
-};
-IFN_(ret_c1pB) {
-ED_RO_(Foreign_StablePtr_con_info);
-ED_(STBase_SZh_static_closure);
-ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
-StgStablePtr s1kb_;
- FB_
- HEAP_CHK(0,(_FHS+1),0);
- {
- StgStablePtr _ccall_result;
- CALLER_SAVE_Base
- CALLER_SAVE_SpA
- CALLER_SAVE_SuA
- CALLER_SAVE_SpB
- CALLER_SAVE_SuB
- CALLER_SAVE_Ret
- CALLER_SAVE_Hp
- CALLER_SAVE_HpLim
- _ccall_result = (b());
- CALLER_RESTORE_Base
- CALLER_RESTORE_SpA
- CALLER_RESTORE_SuA
- CALLER_RESTORE_SpB
- CALLER_RESTORE_SuB
- CALLER_RESTORE_Ret
- CALLER_RESTORE_Hp
- CALLER_RESTORE_HpLim
- CALLER_RESTORE_StdUpdRetVec
- CALLER_RESTORE_StkStub
- s1kb_=_ccall_result;
- }
- SET_SPEC_HDR(Hp-_FHS,Foreign_StablePtr_con_info,0,1,0);
- *Hp=(W_)(s1kb_);
- R4.p=STBase_SZh_static_closure;
- R3.p=Hp-_FHS;
- SpB=SpB-1;
- R2.d=PrelTup_Z40Z44Z41_inregs_info;
- GRAN_EXEC(10,2,21,22,0);
- JMP_(DIRECT((StgRetAddr)(SpB[1])));
- FE_
-}
-UNVECTBL(static,vtbl_c1pB,ret_c1pB)
-STATIC_ITBL(Test_b_info,Test_b_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0);
-FN_(Test_b_entry) {
-ED_(Test_b_closure);
-EF_(Test_b_fast1);
- FB_
- ARGS_CHK_A_LOAD_NODE(1,Test_b_closure);
- R1.p=*SpA;
- SpA=SpA+1;
- GRAN_EXEC(5,2,1,0,0);
- JMP_(Test_b_fast1);
- FE_
-}
-FN_(Test_b_fast1) {
- FB_
- STK_CHK(1,0,1,0,0,0,0);
- SpB[1]=(W_)(RetReg);
- RetReg=(StgRetAddr)UNVEC(ret_c1pB,vtbl_c1pB);
- SpB=SpB+1;
- ENT_VIA_NODE();
- GRAN_EXEC(3,1,1,1,0);
- JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
- FE_
-}
-SET_STATIC_HDR(Test_b_closure,Test_b_info,0,,ED_RO_)
-};
-IFN_(ret_c1pE) {
-ED_RO_(PrelBase_IZh_con_info);
-ED_(STBase_SZh_static_closure);
-ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
-I_ s1lp_;
- FB_
- HEAP_CHK(4,(_FHS+1),0);
- {
- I_ _ccall_result;
- StgForeignObj _ccall_arg1=ForeignObj_CLOSURE_DATA(R3.p);
- CALLER_SAVE_Base
- CALLER_SAVE_SpA
- CALLER_SAVE_SuA
- CALLER_SAVE_SpB
- CALLER_SAVE_SuB
- CALLER_SAVE_Ret
- CALLER_SAVE_Hp
- CALLER_SAVE_HpLim
- _ccall_result = (c((_ccall_arg1)));
- CALLER_RESTORE_Base
- CALLER_RESTORE_SpA
- CALLER_RESTORE_SuA
- CALLER_RESTORE_SpB
- CALLER_RESTORE_SuB
- CALLER_RESTORE_Ret
- CALLER_RESTORE_Hp
- CALLER_RESTORE_HpLim
- CALLER_RESTORE_StdUpdRetVec
- CALLER_RESTORE_StkStub
- s1lp_=_ccall_result;
- }
- SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0);
- *Hp=(W_)(s1lp_);
- R4.p=STBase_SZh_static_closure;
- R3.p=Hp-_FHS;
- SpB=SpB-1;
- R2.d=PrelTup_Z40Z44Z41_inregs_info;
- GRAN_EXEC(10,2,22,22,0);
- JMP_(DIRECT((StgRetAddr)(SpB[1])));
- FE_
-}
-UNVECTBL(static,vtbl_c1pE,ret_c1pE)
-IFN_(ret_c1pD) {
- FB_
- RetReg=(StgRetAddr)UNVEC(ret_c1pE,vtbl_c1pE);
- R1.p=*SpA;
- SpA=SpA+1;
- ENT_VIA_NODE();
- GRAN_EXEC(3,1,2,1,0);
- JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
- FE_
-}
-UNVECTBL(static,vtbl_c1pD,ret_c1pD)
-SPEC_N_ITBL(c1oM_info,c1oM_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0);
-IFN_(c1oM_entry) {
-IF_(c1oM_fast1);
- FB_
- ARGS_CHK_A(1);
- R2.p=*SpA;
- SpA=SpA+1;
- GRAN_EXEC(5,2,1,0,0);
- JMP_(c1oM_fast1);
- FE_
-}
-IFN_(c1oM_fast1) {
- FB_
- STK_CHK(3,1,1,0,0,0,1);
- SpB[1]=(W_)(RetReg);
- RetReg=(StgRetAddr)UNVEC(ret_c1pD,vtbl_c1pD);
- SpA[-1]=(P_)(R1.p[_FHS]);
- R1=R2;
- SpA=SpA-1;
- SpB=SpB+1;
- ENT_VIA_NODE();
- GRAN_EXEC(5,1,2,2,0);
- JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
- FE_
-}
-STATIC_ITBL(Test_c_info,Test_c_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0);
-FN_(Test_c_entry) {
-ED_(Test_c_closure);
-EF_(Test_c_fast1);
- FB_
- ARGS_CHK_A_LOAD_NODE(1,Test_c_closure);
- R1.p=*SpA;
- SpA=SpA+1;
- GRAN_EXEC(5,2,1,0,0);
- JMP_(Test_c_fast1);
- FE_
-}
-FN_(Test_c_fast1) {
-ID_RO_(c1oM_info);
-IF_(c1oM_entry);
- FB_
- HEAP_CHK(1,(_FHS+1),0);
- SET_SPEC_HDR(Hp-_FHS,c1oM_info,0,1,1);
- *Hp=(W_)(R1.p);
- R1.p=Hp-_FHS;
- GRAN_EXEC(5,2,0,2,0);
- JMP_(c1oM_entry);
- FE_
-}
-SET_STATIC_HDR(Test_c_closure,Test_c_info,0,,ED_RO_)
-};
-IFN_(ret_c1pH) {
-ED_RO_(PrelBase_IZh_con_info);
-ED_(STBase_SZh_static_closure);
-ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
-I_ s1mE_;
- FB_
- HEAP_CHK(0,(_FHS+1),0);
- {
- I_ _ccall_result;
- StgStablePtr _ccall_arg1=R3.i;
- CALLER_SAVE_Base
- CALLER_SAVE_SpA
- CALLER_SAVE_SuA
- CALLER_SAVE_SpB
- CALLER_SAVE_SuB
- CALLER_SAVE_Ret
- CALLER_SAVE_Hp
- CALLER_SAVE_HpLim
- _ccall_result = (d((_ccall_arg1)));
- CALLER_RESTORE_Base
- CALLER_RESTORE_SpA
- CALLER_RESTORE_SuA
- CALLER_RESTORE_SpB
- CALLER_RESTORE_SuB
- CALLER_RESTORE_Ret
- CALLER_RESTORE_Hp
- CALLER_RESTORE_HpLim
- CALLER_RESTORE_StdUpdRetVec
- CALLER_RESTORE_StkStub
- s1mE_=_ccall_result;
- }
- SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0);
- *Hp=(W_)(s1mE_);
- R4.p=STBase_SZh_static_closure;
- R3.p=Hp-_FHS;
- SpB=SpB-1;
- R2.d=PrelTup_Z40Z44Z41_inregs_info;
- GRAN_EXEC(10,2,22,22,0);
- JMP_(DIRECT((StgRetAddr)(SpB[1])));
- FE_
-}
-UNVECTBL(static,vtbl_c1pH,ret_c1pH)
-IFN_(ret_c1pG) {
- FB_
- RetReg=(StgRetAddr)UNVEC(ret_c1pH,vtbl_c1pH);
- R1.p=*SpA;
- SpA=SpA+1;
- ENT_VIA_NODE();
- GRAN_EXEC(3,1,2,1,0);
- JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
- FE_
-}
-UNVECTBL(static,vtbl_c1pG,ret_c1pG)
-SPEC_N_ITBL(c1oc_info,c1oc_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0);
-IFN_(c1oc_entry) {
-IF_(c1oc_fast1);
- FB_
- ARGS_CHK_A(1);
- R2.p=*SpA;
- SpA=SpA+1;
- GRAN_EXEC(5,2,1,0,0);
- JMP_(c1oc_fast1);
- FE_
-}
-IFN_(c1oc_fast1) {
- FB_
- STK_CHK(3,1,1,0,0,0,1);
- SpB[1]=(W_)(RetReg);
- RetReg=(StgRetAddr)UNVEC(ret_c1pG,vtbl_c1pG);
- SpA[-1]=(P_)(R1.p[_FHS]);
- R1=R2;
- SpA=SpA-1;
- SpB=SpB+1;
- ENT_VIA_NODE();
- GRAN_EXEC(5,1,2,2,0);
- JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
- FE_
-}
-STATIC_ITBL(Test_d_info,Test_d_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0);
-FN_(Test_d_entry) {
-ED_(Test_d_closure);
-EF_(Test_d_fast1);
- FB_
- ARGS_CHK_A_LOAD_NODE(1,Test_d_closure);
- R1.p=*SpA;
- SpA=SpA+1;
- GRAN_EXEC(5,2,1,0,0);
- JMP_(Test_d_fast1);
- FE_
-}
-FN_(Test_d_fast1) {
-ID_RO_(c1oc_info);
-IF_(c1oc_entry);
- FB_
- HEAP_CHK(1,(_FHS+1),0);
- SET_SPEC_HDR(Hp-_FHS,c1oc_info,0,1,1);
- *Hp=(W_)(R1.p);
- R1.p=Hp-_FHS;
- GRAN_EXEC(5,2,0,2,0);
- JMP_(c1oc_entry);
- FE_
-}
-SET_STATIC_HDR(Test_d_closure,Test_d_info,0,,ED_RO_)
-};
ghc: module version changed to 1; reason: no old .hi file