Created
June 16, 2018 03:04
-
-
Save Bulat-Ziganshin/4c6034958b6de33400acc3d541ce626a to your computer and use it in GitHub Desktop.
Example of C code produced by GHC 6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* GHC_PACKAGES base rts | |
*/ | |
#include "Stg.h" | |
#include "HsBase.h" | |
START_MOD_INIT(__stginit_Main,__stginit_Main_) | |
EF_(__stginit_SystemziEnvironment_); | |
EF_(__stginit_SystemziIOziUnsafe_); | |
EF_(__stginit_DataziChar_); | |
EF_(__stginit_Prelude_); | |
REGISTER_IMPORT(__stginit_SystemziEnvironment_); | |
REGISTER_IMPORT(__stginit_SystemziIOziUnsafe_); | |
REGISTER_IMPORT(__stginit_DataziChar_); | |
REGISTER_IMPORT(__stginit_Prelude_); | |
END_MOD_INIT() | |
EF_(__stginit_Main); | |
FN_(__stginit_ZCMain) { | |
FB_ | |
JMP_(__stginit_Main); | |
FE_ | |
} | |
EC_(GHCziBase_chr_closure); | |
SRT(Main_encodeInt_srt) | |
&GHCziBase_chr_closure}; | |
SET_STATIC_HDR(Main_encodeInt_closure,Main_encodeInt_info,0,,EI_) | |
, {(L_)0} | |
}; | |
static StgWord s44s_info[] = { | |
(W_)(0x0),(W_)(0x24) | |
}; | |
EI_(GHCziBase_Izh_con_info); | |
IF_(s44s_ret) { | |
FB_ | |
HP_CHK_UNBX_R1(2,); | |
SET_HDR_(Hp-1,(P_)&GHCziBase_Izh_con_info,0,0); | |
*Hp=(W_)(R1.i); | |
R1.p=Hp-1; | |
Sp=Sp+1; | |
JMP_(ENTRY_CODE((P_)&stg_upd_frame_info)); | |
FE_ | |
} | |
static StgWord s45R_info[] = { | |
(W_)(0x0),(W_)(0x24) | |
}; | |
EF_(GHCziBase_divIntzh_entry); | |
IF_(s45R_ret) { | |
FB_ | |
Sp[-1]=(W_)(65536); | |
Sp[-2]=(W_)(R1.p[1]); | |
*Sp=(W_)((P_)&s44s_info); | |
Sp=Sp-2; | |
JMP_(GHCziBase_divIntzh_entry); | |
FE_ | |
} | |
static StgWord s44u_info[] = { | |
(W_)(0x10001),(W_)(0x13) | |
}; | |
II_(s44u_info); | |
IF_(s44u_entry) { | |
FB_ | |
STK_CHK_NP(5,); | |
UPD_BH_UPDATABLE((P_)&s44u_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
R1.p=(P_)(R1.p[1]); | |
Sp[-3]=(W_)((P_)&s45R_info); | |
Sp=Sp-3; | |
JMP_((ENTRY_CODE((D_)(*R1.p)))); | |
FE_ | |
} | |
static StgWord s44l_info[] = { | |
(W_)(0x0),(W_)(0x24) | |
}; | |
EI_(GHCziBase_Izh_con_info); | |
IF_(s44l_ret) { | |
FB_ | |
HP_CHK_UNBX_R1(2,); | |
SET_HDR_(Hp-1,(P_)&GHCziBase_Izh_con_info,0,0); | |
*Hp=(W_)(R1.i); | |
R1.p=Hp-1; | |
Sp=Sp+1; | |
JMP_(ENTRY_CODE((P_)&stg_upd_frame_info)); | |
FE_ | |
} | |
static StgWord s44j_info[] = { | |
(W_)(0x0),(W_)(0x24) | |
}; | |
EF_(GHCziBase_modIntzh_entry); | |
IF_(s44j_ret) { | |
FB_ | |
Sp[-1]=(W_)(256); | |
Sp[-2]=(W_)(R1.i); | |
*Sp=(W_)((P_)&s44l_info); | |
Sp=Sp-2; | |
JMP_(GHCziBase_modIntzh_entry); | |
FE_ | |
} | |
static StgWord s45S_info[] = { | |
(W_)(0x0),(W_)(0x24) | |
}; | |
EF_(GHCziBase_divIntzh_entry); | |
IF_(s45S_ret) { | |
FB_ | |
Sp[-1]=(W_)(256); | |
Sp[-2]=(W_)(R1.p[1]); | |
*Sp=(W_)((P_)&s44j_info); | |
Sp=Sp-2; | |
JMP_(GHCziBase_divIntzh_entry); | |
FE_ | |
} | |
static StgWord s44n_info[] = { | |
(W_)(0x10001),(W_)(0x13) | |
}; | |
II_(s44n_info); | |
IF_(s44n_entry) { | |
FB_ | |
STK_CHK_NP(5,); | |
UPD_BH_UPDATABLE((P_)&s44n_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
R1.p=(P_)(R1.p[1]); | |
Sp[-3]=(W_)((P_)&s45S_info); | |
Sp=Sp-3; | |
JMP_((ENTRY_CODE((D_)(*R1.p)))); | |
FE_ | |
} | |
static StgWord s44c_info[] = { | |
(W_)(0x0),(W_)(0x24) | |
}; | |
EI_(GHCziBase_Izh_con_info); | |
IF_(s44c_ret) { | |
FB_ | |
HP_CHK_UNBX_R1(2,); | |
SET_HDR_(Hp-1,(P_)&GHCziBase_Izh_con_info,0,0); | |
*Hp=(W_)(R1.i); | |
R1.p=Hp-1; | |
Sp=Sp+1; | |
JMP_(ENTRY_CODE((P_)&stg_upd_frame_info)); | |
FE_ | |
} | |
static StgWord s45T_info[] = { | |
(W_)(0x0),(W_)(0x24) | |
}; | |
EF_(GHCziBase_modIntzh_entry); | |
IF_(s45T_ret) { | |
FB_ | |
Sp[-1]=(W_)(256); | |
Sp[-2]=(W_)(R1.p[1]); | |
*Sp=(W_)((P_)&s44c_info); | |
Sp=Sp-2; | |
JMP_(GHCziBase_modIntzh_entry); | |
FE_ | |
} | |
static StgWord s44e_info[] = { | |
(W_)(0x10001),(W_)(0x13) | |
}; | |
II_(s44e_info); | |
IF_(s44e_entry) { | |
FB_ | |
STK_CHK_NP(5,); | |
UPD_BH_UPDATABLE((P_)&s44e_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
R1.p=(P_)(R1.p[1]); | |
Sp[-3]=(W_)((P_)&s45T_info); | |
Sp=Sp-3; | |
JMP_((ENTRY_CODE((D_)(*R1.p)))); | |
FE_ | |
} | |
StgWord Main_encodeInt_info[] = { | |
(W_)(((W_ *)(Main_encodeInt_srt))+(I_)(0)),(W_)(0x10004),(W_)(0x0),(W_)(0x10011) | |
}; | |
EC_(Main_encodeInt_closure); | |
II_(s44u_info); | |
EI_(GHCziBase_ZC_con_info); | |
EC_(GHCziBase_ZMZN_closure); | |
II_(s44n_info); | |
II_(s44e_info); | |
EC_(GHCziBase_chr_closure); | |
EF_(GHCziBase_map_entry); | |
FN_(Main_encodeInt_entry) { | |
FB_ | |
HP_STK_CHK_FUN(1,18,R1.p=(P_)&Main_encodeInt_closure;); | |
SET_HDR_(Hp-17,(P_)&s44u_info,0,0); | |
Hp[-16]=(W_)(*Sp); | |
SET_HDR_(Hp-14,(P_)&GHCziBase_ZC_con_info,0,0); | |
Hp[-13]=(W_)(Hp-17); | |
Hp[-12]=(W_)((P_)&GHCziBase_ZMZN_closure); | |
SET_HDR_(Hp-11,(P_)&s44n_info,0,0); | |
Hp[-10]=(W_)(*Sp); | |
SET_HDR_(Hp-8,(P_)&GHCziBase_ZC_con_info,0,0); | |
Hp[-7]=(W_)(Hp-11); | |
Hp[-6]=(W_)(Hp-14); | |
SET_HDR_(Hp-5,(P_)&s44e_info,0,0); | |
Hp[-4]=(W_)(*Sp); | |
SET_HDR_(Hp-2,(P_)&GHCziBase_ZC_con_info,0,0); | |
Hp[-1]=(W_)(Hp-5); | |
*Hp=(W_)(Hp-8); | |
*Sp=(W_)(Hp-2); | |
Sp[-1]=(W_)((P_)&GHCziBase_chr_closure); | |
Sp=Sp-1; | |
JMP_(GHCziBase_map_entry); | |
FE_ | |
} | |
EC_(GHCziBase_chr_closure); | |
EC_(SystemziIO_readFile_closure); | |
SRT(Main_encodeFile_srt) | |
&GHCziBase_chr_closure,&SystemziIO_readFile_closure}; | |
SET_STATIC_HDR(Main_encodeFile_closure,Main_encodeFile_info,0,,EI_) | |
, {(L_)0} | |
}; | |
static StgWord s44K_info[] = { | |
(W_)(((W_ *)(Main_encodeFile_srt))+(I_)(1)),(W_)(0x10001),(W_)(0x10013) | |
}; | |
II_(s44K_info); | |
EC_(SystemziIO_readFile_closure); | |
IF_(s44K_entry) { | |
FB_ | |
STK_CHK_NP(4,); | |
UPD_BH_UPDATABLE((P_)&s44K_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
Sp[-3]=(W_)(R1.p[1]); | |
R1.p=(P_)&SystemziIO_readFile_closure; | |
Sp=Sp-4; | |
JMP_(stg_ap_p_ret); | |
FE_ | |
} | |
static StgWord s44M_info[] = { | |
(W_)(((W_ *)(Main_encodeFile_srt))+(I_)(1)),(W_)(0x10001),(W_)(0x10013) | |
}; | |
II_(s44M_info); | |
II_(s44K_info); | |
EF_(GHCziIOBase_unsafePerformIO_entry); | |
IF_(s44M_entry) { | |
FB_ | |
HP_STK_CHK_NP(3,3,); | |
UPD_BH_UPDATABLE((P_)&s44M_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
SET_HDR_(Hp-2,(P_)&s44K_info,0,0); | |
Hp[-1]=(W_)(R1.p[1]); | |
Sp[-3]=(W_)(Hp-2); | |
Sp=Sp-3; | |
JMP_(GHCziIOBase_unsafePerformIO_entry); | |
FE_ | |
} | |
static StgWord s44O_info[] = { | |
(W_)(0x0),(W_)(0x24) | |
}; | |
EI_(GHCziBase_Izh_con_info); | |
IF_(s44O_ret) { | |
FB_ | |
HP_CHK_UNBX_R1(2,); | |
SET_HDR_(Hp-1,(P_)&GHCziBase_Izh_con_info,0,0); | |
*Hp=(W_)(R1.i); | |
R1.p=Hp-1; | |
Sp=Sp+1; | |
JMP_(ENTRY_CODE((P_)&stg_upd_frame_info)); | |
FE_ | |
} | |
static StgWord s44Q_info[] = { | |
(W_)(0x10001),(W_)(0x13) | |
}; | |
II_(s44Q_info); | |
EF_(GHCziList_zdwlen_entry); | |
IF_(s44Q_entry) { | |
FB_ | |
STK_CHK_NP(5,); | |
UPD_BH_UPDATABLE((P_)&s44Q_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
Sp[-4]=(W_)(0); | |
Sp[-5]=(W_)(R1.p[1]); | |
Sp[-3]=(W_)((P_)&s44O_info); | |
Sp=Sp-5; | |
JMP_(GHCziList_zdwlen_entry); | |
FE_ | |
} | |
EF_(GHCziBase_zpzp_entry); | |
IF_(s44S_dflt) { | |
FB_ | |
*Sp=(W_)(R1.p); | |
JMP_(GHCziBase_zpzp_entry); | |
FE_ | |
} | |
static StgWord s44S_vtbl[] = { | |
(W_)((P_)&s44S_dflt),(W_)((P_)&s44S_dflt),(W_)(0),(W_)(0x1),(W_)(0x25) | |
}; | |
static StgWord s44U_info[] = { | |
(W_)(((W_ *)(Main_encodeFile_srt))+(I_)(0)),(W_)(0x10001),(W_)(0x30013) | |
}; | |
II_(s44U_info); | |
II_(s44M_info); | |
II_(s44Q_info); | |
EF_(Main_encodeInt_entry); | |
IF_(s44U_entry) { | |
FB_ | |
HP_STK_CHK_NP(5,6,); | |
UPD_BH_UPDATABLE((P_)&s44U_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
SET_HDR_(Hp-5,(P_)&s44M_info,0,0); | |
Hp[-4]=(W_)(R1.p[1]); | |
SET_HDR_(Hp-2,(P_)&s44Q_info,0,0); | |
Hp[-1]=(W_)(Hp-5); | |
Sp[-5]=(W_)(Hp-2); | |
Sp[-3]=(W_)(Hp-5); | |
Sp[-4]=(W_)((P_)&s44S_vtbl); | |
Sp=Sp-5; | |
JMP_(Main_encodeInt_entry); | |
FE_ | |
} | |
static StgWord s44W_info[] = { | |
(W_)(((W_ *)(Main_encodeFile_srt))+(I_)(0)),(W_)(0x10001),(W_)(0x30013) | |
}; | |
II_(s44W_info); | |
II_(s44U_info); | |
EF_(GHCziBase_zpzp_entry); | |
IF_(s44W_entry) { | |
FB_ | |
HP_STK_CHK_NP(4,3,); | |
UPD_BH_UPDATABLE((P_)&s44W_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
SET_HDR_(Hp-2,(P_)&s44U_info,0,0); | |
Hp[-1]=(W_)(R1.p[1]); | |
Sp[-3]=(W_)(Hp-2); | |
Sp[-4]=(W_)(R1.p[1]); | |
Sp=Sp-4; | |
JMP_(GHCziBase_zpzp_entry); | |
FE_ | |
} | |
static StgWord s44F_info[] = { | |
(W_)(0x10001),(W_)(0x13) | |
}; | |
II_(s44F_info); | |
EF_(GHCziList_length_entry); | |
IF_(s44F_entry) { | |
FB_ | |
STK_CHK_NP(3,); | |
UPD_BH_UPDATABLE((P_)&s44F_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
Sp[-3]=(W_)(R1.p[1]); | |
Sp=Sp-3; | |
JMP_(GHCziList_length_entry); | |
FE_ | |
} | |
EF_(GHCziBase_zpzp_entry); | |
IF_(s44H_dflt) { | |
FB_ | |
*Sp=(W_)(R1.p); | |
JMP_(GHCziBase_zpzp_entry); | |
FE_ | |
} | |
static StgWord s44H_vtbl[] = { | |
(W_)((P_)&s44H_dflt),(W_)((P_)&s44H_dflt),(W_)(0),(W_)(0x1),(W_)(0x25) | |
}; | |
StgWord Main_encodeFile_info[] = { | |
(W_)(((W_ *)(Main_encodeFile_srt))+(I_)(0)),(W_)(0x10004),(W_)(0x0),(W_)(0x30011) | |
}; | |
EC_(Main_encodeFile_closure); | |
II_(s44W_info); | |
II_(s44F_info); | |
EF_(Main_encodeInt_entry); | |
FN_(Main_encodeFile_entry) { | |
FB_ | |
HP_STK_CHK_FUN(2,6,R1.p=(P_)&Main_encodeFile_closure;); | |
SET_HDR_(Hp-5,(P_)&s44W_info,0,0); | |
Hp[-4]=(W_)(*Sp); | |
SET_HDR_(Hp-2,(P_)&s44F_info,0,0); | |
Hp[-1]=(W_)(*Sp); | |
Sp[-2]=(W_)(Hp-2); | |
*Sp=(W_)(Hp-5); | |
Sp[-1]=(W_)((P_)&s44H_vtbl); | |
Sp=Sp-2; | |
JMP_(Main_encodeInt_entry); | |
FE_ | |
} | |
EC_(GHCziBase_chr_closure); | |
SRT(Main_encodeStr_srt) | |
&GHCziBase_chr_closure}; | |
SET_STATIC_HDR(Main_encodeStr_closure,Main_encodeStr_info,0,,EI_) | |
, {(L_)0} | |
}; | |
static StgWord s451_info[] = { | |
(W_)(0x10001),(W_)(0x13) | |
}; | |
II_(s451_info); | |
EF_(GHCziList_length_entry); | |
IF_(s451_entry) { | |
FB_ | |
STK_CHK_NP(3,); | |
UPD_BH_UPDATABLE((P_)&s451_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
Sp[-3]=(W_)(R1.p[1]); | |
Sp=Sp-3; | |
JMP_(GHCziList_length_entry); | |
FE_ | |
} | |
EF_(GHCziBase_zpzp_entry); | |
IF_(s453_dflt) { | |
FB_ | |
*Sp=(W_)(R1.p); | |
JMP_(GHCziBase_zpzp_entry); | |
FE_ | |
} | |
static StgWord s453_vtbl[] = { | |
(W_)((P_)&s453_dflt),(W_)((P_)&s453_dflt),(W_)(0),(W_)(0x1),(W_)(0x25) | |
}; | |
StgWord Main_encodeStr_info[] = { | |
(W_)(((W_ *)(Main_encodeStr_srt))+(I_)(0)),(W_)(0x10004),(W_)(0x0),(W_)(0x10011) | |
}; | |
EC_(Main_encodeStr_closure); | |
II_(s451_info); | |
EF_(Main_encodeInt_entry); | |
FN_(Main_encodeStr_entry) { | |
FB_ | |
HP_STK_CHK_FUN(2,3,R1.p=(P_)&Main_encodeStr_closure;); | |
SET_HDR_(Hp-2,(P_)&s451_info,0,0); | |
Hp[-1]=(W_)(*Sp); | |
Sp[-2]=(W_)(Hp-2); | |
Sp[-1]=(W_)((P_)&s453_vtbl); | |
Sp=Sp-2; | |
JMP_(Main_encodeInt_entry); | |
FE_ | |
} | |
SET_STATIC_HDR(Main_s_closure,Main_s_info,0,,EI_) | |
, {(L_)0, (L_)0, (L_)0} | |
}; | |
StgWord Main_s_info[] = { | |
(W_)(0x20000),(W_)(0x18) | |
}; | |
EC_(GHCziBase_ZMZN_closure); | |
EF_(GHCziBase_unpackAppendCStringzh_entry); | |
FN_(Main_s_entry) { | |
FB_ | |
HP_STK_CHK_NP(4,3,); | |
SET_HDR_(Hp-2,(P_)&stg_CAF_BLACKHOLE_info,0,0); | |
UPD_CAF(R1.p,Hp-2); | |
PUSH_UPD_FRAME(Hp-2,0); | |
Sp[-3]=(W_)((P_)&GHCziBase_ZMZN_closure); | |
Sp[-4]=(W_)("Pattern match failure in do expression at SmallestArchiver.hs:8"); | |
Sp=Sp-4; | |
JMP_(GHCziBase_unpackAppendCStringzh_entry); | |
FE_ | |
} | |
EC_(DataziMaybe_Nothing_closure); | |
EC_(GHCziIOBase_UserError_closure); | |
EC_(GHCziBase_ZMZN_closure); | |
EC_(Main_s_closure); | |
SET_STATIC_HDR(Main_lvl_closure,GHCziIOBase_IOError_static_info,0,,EI_) | |
, {(L_)(P_)&DataziMaybe_Nothing_closure, (L_)(P_)&GHCziIOBase_UserError_closure, (L_)(P_)&GHCziBase_ZMZN_closure, (L_)(P_)&Main_s_closure, (L_)(P_)&DataziMaybe_Nothing_closure, (L_)0} | |
}; | |
EC_(Main_lvl_closure); | |
SET_STATIC_HDR(Main_lvl1_closure,GHCziIOBase_IOException_static_info,0,,EI_) | |
, {(L_)(P_)&Main_lvl_closure, (L_)0} | |
}; | |
EC_(Main_encodeFile_closure); | |
EC_(Main_go_closure); | |
SRT(Main_go_srt) | |
&Main_encodeFile_closure,&Main_go_closure}; | |
SET_STATIC_HDR(Main_go_closure,Main_go_info,0,,EI_) | |
, {(L_)0} | |
}; | |
EC_(GHCziBase_ZMZN_closure); | |
IF_(s45U_1_alt) { | |
FB_ | |
R1.p=(P_)&GHCziBase_ZMZN_closure; | |
Sp=Sp+1; | |
JMP_(RET_VEC((P_)(*Sp),0)); | |
FE_ | |
} | |
static StgWord s45i_info[] = { | |
(W_)(((W_ *)(Main_go_srt))+(I_)(1)),(W_)(0x10001),(W_)(0x10013) | |
}; | |
II_(s45i_info); | |
EF_(Main_go_entry); | |
IF_(s45i_entry) { | |
FB_ | |
STK_CHK_NP(3,); | |
UPD_BH_UPDATABLE((P_)&s45i_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
Sp[-3]=(W_)(R1.p[1]); | |
Sp=Sp-3; | |
JMP_(Main_go_entry); | |
FE_ | |
} | |
EF_(GHCziBase_zpzp_entry); | |
IF_(s45f_dflt) { | |
FB_ | |
*Sp=(W_)(R1.p); | |
JMP_(GHCziBase_zpzp_entry); | |
FE_ | |
} | |
static StgWord s45f_vtbl[] = { | |
(W_)((P_)&s45f_dflt),(W_)((P_)&s45f_dflt),(W_)(0),(W_)(0x1),(W_)(0x25) | |
}; | |
II_(s45i_info); | |
EF_(Main_encodeFile_entry); | |
IF_(s45U_2_alt) { | |
FB_ | |
HP_CHK_NP(3,); | |
SET_HDR_(Hp-2,(P_)&s45i_info,0,0); | |
Hp[-1]=(W_)(R1.p[2]); | |
Sp[-2]=(W_)(R1.p[1]); | |
*Sp=(W_)(Hp-2); | |
Sp[-1]=(W_)((P_)&s45f_vtbl); | |
Sp=Sp-2; | |
JMP_(Main_encodeFile_entry); | |
FE_ | |
} | |
static StgWord s45U_vtbl[] = { | |
(W_)((P_)&s45U_2_alt),(W_)((P_)&s45U_1_alt),(W_)(((W_ *)(Main_go_srt))+(I_)(0)),(W_)(0x0),(W_)(0x30025) | |
}; | |
StgWord Main_go_info[] = { | |
(W_)(((W_ *)(Main_go_srt))+(I_)(0)),(W_)(0x10004),(W_)(0x0),(W_)(0x30011) | |
}; | |
EC_(Main_go_closure); | |
FN_(Main_go_entry) { | |
FB_ | |
STK_CHK_FUN(2,R1.p=(P_)&Main_go_closure;); | |
R1.p=(P_)(*Sp); | |
*Sp=(W_)((P_)&s45U_vtbl); | |
JMP_((ENTRY_CODE((D_)(*R1.p)))); | |
FE_ | |
} | |
EC_(GHCziHandle_openFile_closure); | |
EC_(GHCziHandle_hClose_closure); | |
EC_(GHCziIO_hPutStr_closure); | |
EC_(Main_lvl1_closure); | |
EC_(Main_go_closure); | |
SRT(Main_main_srt) | |
&GHCziHandle_openFile_closure,&GHCziHandle_hClose_closure,&GHCziIO_hPutStr_closure,&Main_lvl1_closure,&Main_go_closure}; | |
SET_STATIC_HDR(Main_main_closure,Main_main_info,0,,EI_) | |
, {(L_)0} | |
}; | |
EF_(Main_main_entry); | |
FN_(Main_main_slow) { | |
FB_ | |
Sp=Sp; | |
JMP_(Main_main_entry); | |
FE_ | |
} | |
EC_(Main_lvl1_closure); | |
IF_(s45N_1_alt) { | |
FB_ | |
R1.p=(P_)&Main_lvl1_closure; | |
Sp=Sp+1; | |
JMP_((P_)&raiseIOzh_fast); | |
FE_ | |
} | |
static StgWord s45C_info[] = { | |
(W_)(((W_ *)(Main_main_srt))+(I_)(4)),(W_)(0x10001),(W_)(0x10013) | |
}; | |
II_(s45C_info); | |
EF_(Main_go_entry); | |
IF_(s45C_entry) { | |
FB_ | |
STK_CHK_NP(3,); | |
UPD_BH_UPDATABLE((P_)&s45C_info); | |
PUSH_UPD_FRAME(R1.p,0); | |
Sp[-3]=(W_)(R1.p[1]); | |
Sp=Sp-3; | |
JMP_(Main_go_entry); | |
FE_ | |
} | |
static StgWord s45P_info[] = { | |
(W_)(((W_ *)(Main_main_srt))+(I_)(1)),(W_)(0x1),(W_)(0x10024) | |
}; | |
EF_(GHCziHandle_hClose_entry); | |
IF_(s45P_ret) { | |
FB_ | |
Sp=Sp+1; | |
JMP_(GHCziHandle_hClose_entry); | |
FE_ | |
} | |
static StgWord s45O_info[] = { | |
(W_)(((W_ *)(Main_main_srt))+(I_)(1)),(W_)(0x1),(W_)(0xb0024) | |
}; | |
II_(s45C_info); | |
EF_(GHCziIO_hPutStr_entry); | |
IF_(s45O_ret) { | |
FB_ | |
HP_CHK_UNBX_TUPLE(3,1,); | |
SET_HDR_(Hp-2,(P_)&s45C_info,0,0); | |
Hp[-1]=(W_)(Sp[1]); | |
Sp[-1]=(W_)(Hp-2); | |
Sp[-2]=(W_)(R1.p); | |
Sp[1]=(W_)(R1.p); | |
*Sp=(W_)((P_)&s45P_info); | |
Sp=Sp-2; | |
JMP_(GHCziIO_hPutStr_entry); | |
FE_ | |
} | |
EC_(GHCziIOBase_WriteMode_closure); | |
EF_(GHCziHandle_openFile_entry); | |
IF_(s45N_2_alt) { | |
FB_ | |
Sp[-2]=(W_)((P_)&GHCziIOBase_WriteMode_closure); | |
Sp[-3]=(W_)(R1.p[1]); | |
*Sp=(W_)(R1.p[2]); | |
Sp[-1]=(W_)((P_)&s45O_info); | |
Sp=Sp-3; | |
JMP_(GHCziHandle_openFile_entry); | |
FE_ | |
} | |
static StgWord s45N_vtbl[] = { | |
(W_)((P_)&s45N_2_alt),(W_)((P_)&s45N_1_alt),(W_)(((W_ *)(Main_main_srt))+(I_)(0)),(W_)(0x0),(W_)(0x1f0025) | |
}; | |
static StgWord s45M_info[] = { | |
(W_)(((W_ *)(Main_main_srt))+(I_)(0)),(W_)(0x0),(W_)(0x1f0024) | |
}; | |
IF_(s45M_ret) { | |
FB_ | |
*Sp=(W_)((P_)&s45N_vtbl); | |
JMP_((ENTRY_CODE((D_)(*R1.p)))); | |
FE_ | |
} | |
EF_(Main_main_slow); | |
StgWord Main_main_info[] = { | |
(W_)(Main_main_slow),(W_)(0x0),(W_)(((W_ *)(Main_main_srt))+(I_)(0)),(W_)(0x10000),(W_)(0x0),(W_)(0x1f0011) | |
}; | |
EC_(Main_main_closure); | |
EF_(SystemziEnvironment_getArgs_entry); | |
FN_(Main_main_entry) { | |
FB_ | |
STK_CHK_FUN(4,R1.p=(P_)&Main_main_closure; | |
Sp=Sp;); | |
Sp[-1]=(W_)((P_)&s45M_info); | |
Sp=Sp-1; | |
JMP_(SystemziEnvironment_getArgs_entry); | |
FE_ | |
} | |
EC_(Main_main_closure); | |
EC_(GHCziTopHandler_topHandler_closure); | |
SRT(ZCMain_main_srt) | |
&Main_main_closure,&GHCziTopHandler_topHandler_closure}; | |
SET_STATIC_HDR(ZCMain_main_closure,ZCMain_main_info,0,,EI_) | |
, {(L_)0} | |
}; | |
EF_(ZCMain_main_entry); | |
FN_(ZCMain_main_slow) { | |
FB_ | |
Sp=Sp; | |
JMP_(ZCMain_main_entry); | |
FE_ | |
} | |
EF_(ZCMain_main_slow); | |
StgWord ZCMain_main_info[] = { | |
(W_)(ZCMain_main_slow),(W_)(0x0),(W_)(((W_ *)(ZCMain_main_srt))+(I_)(0)),(W_)(0x10000),(W_)(0x0),(W_)(0x30011) | |
}; | |
EC_(GHCziTopHandler_topHandler_closure); | |
EC_(Main_main_closure); | |
FN_(ZCMain_main_entry) { | |
FB_ | |
R2.p=(P_)&GHCziTopHandler_topHandler_closure; | |
R1.p=(P_)&Main_main_closure; | |
JMP_((P_)&catchzh_fast); | |
FE_ | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Data.Char | |
import System.Environment | |
import System.IO.Unsafe | |
encodeInt n = map chr [n `mod` 256, (n `div` 256) `mod` 256, n `div` 65536] | |
encodeStr x = encodeInt(length x) ++ x | |
encodeFile f = encodeStr(f) ++ encodeStr(unsafePerformIO (readFile f)) | |
main = do (arc:files) <- getArgs; writeFile arc (concatMap encodeFile files) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment