gcc-2.95.3 internal error on head/MachOp.hs

Donald Bruce Stewart dons at cse.unsw.edu.au
Wed Sep 15 03:49:23 EDT 2004


dons:
> 
> Looking more into the gcc-2.95 "internal compiler error" issue. This appears to
> be a known bug internal to gcc-2.95, fixed by 3.0, though it remained
> mysterious:
>             http://gcc.gnu.org/bugzilla/show_bug.cgi?id=6050
> It is only triggered when gcc optimisation is on. -opc-O0 means no bug.
> 
> Attached is the .hs and .hc for the record.o

Wrong .hc file. Correct one:

------------------------------------------------------------------------

/* GHC_PACKAGES base rts
*/
#include "Stg.h"
#include "HsBase.h"
EI_(M_zdgfromDT_info);
StgWord M_zdgfromDT_closure[] = {
	(W_)M_zdgfromDT_info
};

static StgWord s1BO_info[] = {
	0x0, 0x24
};

EI_(GHCziBase_Unit_closure);
EI_(GHCziBase_Inl_con_info);
EI_(GHCziBase_Inr_con_info);
IF_(s1BO_ret) {
	FB_
	switch (((W_)((*((StgWord16*)((*R1.p) + (-0x2)))))) + 0x0) {
	    case 0x0: goto _c1BW;
	    case 0x1: goto _c1BY;
	    case 0x2: goto _c1C0;
	    case 0x3: goto _c1C2;
	    case 0x4: goto _c1C4;
	    case 0x5: goto _c1C6;
	    case 0x6: goto _c1C8;
	    case 0x7: goto _c1Ca;
	    case 0x8: goto _c1Cc;
	    case 0x9: goto _c1Ce;
	    case 0xa: goto _c1Cg;
	    case 0xb: goto _c1Ci;
	    case 0xc: goto _c1Ck;
	    case 0xd: goto _c1Cm;
	    case 0xe: goto _c1Co;
	    case 0xf: goto _c1Cq;
	    case 0x10: goto _c1Cs;
	    case 0x11: goto _c1Cu;
	}
    _c1BW:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1CP;
	Hp[-7] = (W_)GHCziBase_Inl_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inl_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inl_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inl_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x10))));
    _c1CP:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1BY:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1CS;
	Hp[-7] = (W_)GHCziBase_Inr_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inl_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inl_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inl_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x10))));
    _c1CS:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1C0:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1CV;
	Hp[-7] = (W_)GHCziBase_Inl_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inr_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inl_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inl_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x10))));
    _c1CV:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1C2:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1CY;
	Hp[-7] = (W_)GHCziBase_Inr_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inr_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inl_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inl_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x10))));
    _c1CY:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1C4:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1D1;
	Hp[-7] = (W_)GHCziBase_Inl_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inl_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inr_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inl_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x10))));
    _c1D1:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1C6:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1D4;
	Hp[-7] = (W_)GHCziBase_Inr_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inl_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inr_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inl_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x10))));
    _c1D4:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1C8:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1D7;
	Hp[-7] = (W_)GHCziBase_Inl_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inr_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inr_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inl_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x10))));
    _c1D7:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1Ca:
	Hp=Hp+10;
	if ((W_)Hp > (W_)HpLim) goto _c1Da;
	Hp[-9] = (W_)GHCziBase_Inl_con_info;
	Hp[-8] = (W_)GHCziBase_Unit_closure;
	Hp[-7] = (W_)GHCziBase_Inr_con_info;
	Hp[-6] = (W_)Hp-36;
	Hp[-5] = (W_)GHCziBase_Inr_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inr_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inl_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x10))));
    _c1Da:
	HpAlloc = 0x28;
	JMP_(stg_gc_enter_1);
    _c1Cc:
	Hp=Hp+10;
	if ((W_)Hp > (W_)HpLim) goto _c1Dd;
	Hp[-9] = (W_)GHCziBase_Inr_con_info;
	Hp[-8] = (W_)GHCziBase_Unit_closure;
	Hp[-7] = (W_)GHCziBase_Inr_con_info;
	Hp[-6] = (W_)Hp-36;
	Hp[-5] = (W_)GHCziBase_Inr_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inr_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inl_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x10))));
    _c1Dd:
	HpAlloc = 0x28;
	JMP_(stg_gc_enter_1);
    _c1Ce:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1Dg;
	Hp[-7] = (W_)GHCziBase_Inl_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inl_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inl_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inr_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1Dg:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1Cg:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1Dj;
	Hp[-7] = (W_)GHCziBase_Inr_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inl_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inl_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inr_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1Dj:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1Ci:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1Dm;
	Hp[-7] = (W_)GHCziBase_Inl_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inr_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inl_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inr_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1Dm:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1Ck:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1Dp;
	Hp[-7] = (W_)GHCziBase_Inr_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inr_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inl_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inr_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1Dp:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1Cm:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1Ds;
	Hp[-7] = (W_)GHCziBase_Inl_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inl_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inr_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inr_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1Ds:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1Co:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1Dv;
	Hp[-7] = (W_)GHCziBase_Inr_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inl_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inr_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inr_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1Dv:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1Cq:
	Hp=Hp+8;
	if ((W_)Hp > (W_)HpLim) goto _c1Dy;
	Hp[-7] = (W_)GHCziBase_Inl_con_info;
	Hp[-6] = (W_)GHCziBase_Unit_closure;
	Hp[-5] = (W_)GHCziBase_Inr_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inr_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inr_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1Dy:
	HpAlloc = 0x20;
	JMP_(stg_gc_enter_1);
    _c1Cs:
	Hp=Hp+10;
	if ((W_)Hp > (W_)HpLim) goto _c1DB;
	Hp[-9] = (W_)GHCziBase_Inl_con_info;
	Hp[-8] = (W_)GHCziBase_Unit_closure;
	Hp[-7] = (W_)GHCziBase_Inr_con_info;
	Hp[-6] = (W_)Hp-36;
	Hp[-5] = (W_)GHCziBase_Inr_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inr_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inr_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1DB:
	HpAlloc = 0x28;
	JMP_(stg_gc_enter_1);
    _c1Cu:
	Hp=Hp+10;
	if ((W_)Hp > (W_)HpLim) goto _c1DE;
	Hp[-9] = (W_)GHCziBase_Inr_con_info;
	Hp[-8] = (W_)GHCziBase_Unit_closure;
	Hp[-7] = (W_)GHCziBase_Inr_con_info;
	Hp[-6] = (W_)Hp-36;
	Hp[-5] = (W_)GHCziBase_Inr_con_info;
	Hp[-4] = (W_)Hp-28;
	Hp[-3] = (W_)GHCziBase_Inr_con_info;
	Hp[-2] = (W_)Hp-20;
	Hp[-1] = (W_)GHCziBase_Inr_con_info;
	*Hp = (W_)Hp-12;
	R1.p=Hp-1;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1DE:
	HpAlloc = 0x28;
	JMP_(stg_gc_enter_1);
	FE_
}

StgWord M_zdgfromDT_info[] = {
	0x10004, 0x0, 0x11
};

II_(s1BO_info);
FN_(M_zdgfromDT_entry) {
	FB_
	R1.p = (P_)(*Sp);
	*Sp = (W_)s1BO_info;
	JMP_(*R1.p);
	FE_
}
EI_(M_zdgtoDT_info);
StgWord M_zdgtoDT_closure[] = {
	(W_)M_zdgtoDT_info
};


EI_(M_A_closure);
IF_(s1Eb_0_alt) {
	FB_
	R1.p = (P_)(W_)M_A_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}


EI_(M_B_closure);
IF_(s1Eb_1_alt) {
	FB_
	R1.p = (P_)(W_)M_B_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}

static StgWord s1Eb_info[] = {
	(W_)s1Eb_1_alt, (W_)s1Eb_0_alt, 0x0, 0x0, 0x25
};


EI_(M_C_closure);
IF_(s1E8_0_alt) {
	FB_
	R1.p = (P_)(W_)M_C_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}


EI_(M_D_closure);
IF_(s1E8_1_alt) {
	FB_
	R1.p = (P_)(W_)M_D_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}

static StgWord s1E8_info[] = {
	(W_)s1E8_1_alt, (W_)s1E8_0_alt, 0x0, 0x0, 0x25
};


II_(s1Eb_info);
IF_(s1E7_0_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1Eb_info;
	JMP_(*R1.p);
	FE_
}


II_(s1E8_info);
IF_(s1E7_1_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1E8_info;
	JMP_(*R1.p);
	FE_
}

static StgWord s1E7_info[] = {
	(W_)s1E7_1_alt, (W_)s1E7_0_alt, 0x0, 0x0, 0x25
};


EI_(M_E_closure);
IF_(s1E4_0_alt) {
	FB_
	R1.p = (P_)(W_)M_E_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}


EI_(M_F_closure);
IF_(s1E4_1_alt) {
	FB_
	R1.p = (P_)(W_)M_F_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}

static StgWord s1E4_info[] = {
	(W_)s1E4_1_alt, (W_)s1E4_0_alt, 0x0, 0x0, 0x25
};


EI_(M_H_closure);
IF_(s1E0_0_alt) {
	FB_
	R1.p = (P_)(W_)M_H_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}


EI_(M_I_closure);
IF_(s1E0_1_alt) {
	FB_
	R1.p = (P_)(W_)M_I_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}

static StgWord s1E0_info[] = {
	(W_)s1E0_1_alt, (W_)s1E0_0_alt, 0x0, 0x0, 0x25
};


EI_(M_G_closure);
IF_(s1DZ_0_alt) {
	FB_
	R1.p = (P_)(W_)M_G_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}


II_(s1E0_info);
IF_(s1DZ_1_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1E0_info;
	JMP_(*R1.p);
	FE_
}

static StgWord s1DZ_info[] = {
	(W_)s1DZ_1_alt, (W_)s1DZ_0_alt, 0x0, 0x0, 0x25
};


II_(s1E4_info);
IF_(s1DY_0_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1E4_info;
	JMP_(*R1.p);
	FE_
}


II_(s1DZ_info);
IF_(s1DY_1_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DZ_info;
	JMP_(*R1.p);
	FE_
}

static StgWord s1DY_info[] = {
	(W_)s1DY_1_alt, (W_)s1DY_0_alt, 0x0, 0x0, 0x25
};


II_(s1E7_info);
IF_(s1DX_0_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1E7_info;
	JMP_(*R1.p);
	FE_
}


II_(s1DY_info);
IF_(s1DX_1_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DY_info;
	JMP_(*R1.p);
	FE_
}

static StgWord s1DX_info[] = {
	(W_)s1DX_1_alt, (W_)s1DX_0_alt, 0x0, 0x0, 0x25
};


EI_(M_J_closure);
IF_(s1DU_0_alt) {
	FB_
	R1.p = (P_)(W_)M_J_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}


EI_(M_K_closure);
IF_(s1DU_1_alt) {
	FB_
	R1.p = (P_)(W_)M_K_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}

static StgWord s1DU_info[] = {
	(W_)s1DU_1_alt, (W_)s1DU_0_alt, 0x0, 0x0, 0x25
};


EI_(M_L_closure);
IF_(s1DR_0_alt) {
	FB_
	R1.p = (P_)(W_)M_L_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}


EI_(M_M_closure);
IF_(s1DR_1_alt) {
	FB_
	R1.p = (P_)(W_)M_M_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}

static StgWord s1DR_info[] = {
	(W_)s1DR_1_alt, (W_)s1DR_0_alt, 0x0, 0x0, 0x25
};


II_(s1DU_info);
IF_(s1DQ_0_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DU_info;
	JMP_(*R1.p);
	FE_
}


II_(s1DR_info);
IF_(s1DQ_1_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DR_info;
	JMP_(*R1.p);
	FE_
}

static StgWord s1DQ_info[] = {
	(W_)s1DQ_1_alt, (W_)s1DQ_0_alt, 0x0, 0x0, 0x25
};


EI_(M_N_closure);
IF_(s1DN_0_alt) {
	FB_
	R1.p = (P_)(W_)M_N_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}


EI_(M_O_closure);
IF_(s1DN_1_alt) {
	FB_
	R1.p = (P_)(W_)M_O_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}

static StgWord s1DN_info[] = {
	(W_)s1DN_1_alt, (W_)s1DN_0_alt, 0x0, 0x0, 0x25
};


EI_(M_Q_closure);
IF_(s1DJ_0_alt) {
	FB_
	R1.p = (P_)(W_)M_Q_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}


EI_(M_R_closure);
IF_(s1DJ_1_alt) {
	FB_
	R1.p = (P_)(W_)M_R_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}

static StgWord s1DJ_info[] = {
	(W_)s1DJ_1_alt, (W_)s1DJ_0_alt, 0x0, 0x0, 0x25
};


EI_(M_P_closure);
IF_(s1DI_0_alt) {
	FB_
	R1.p = (P_)(W_)M_P_closure;
	Sp=Sp+1;
	JMP_(*Sp);
	FE_
}


II_(s1DJ_info);
IF_(s1DI_1_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DJ_info;
	JMP_(*R1.p);
	FE_
}

static StgWord s1DI_info[] = {
	(W_)s1DI_1_alt, (W_)s1DI_0_alt, 0x0, 0x0, 0x25
};


II_(s1DN_info);
IF_(s1DH_0_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DN_info;
	JMP_(*R1.p);
	FE_
}


II_(s1DI_info);
IF_(s1DH_1_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DI_info;
	JMP_(*R1.p);
	FE_
}

static StgWord s1DH_info[] = {
	(W_)s1DH_1_alt, (W_)s1DH_0_alt, 0x0, 0x0, 0x25
};


II_(s1DQ_info);
IF_(s1DG_0_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DQ_info;
	JMP_(*R1.p);
	FE_
}


II_(s1DH_info);
IF_(s1DG_1_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DH_info;
	JMP_(*R1.p);
	FE_
}

static StgWord s1DG_info[] = {
	(W_)s1DG_1_alt, (W_)s1DG_0_alt, 0x0, 0x0, 0x25
};


II_(s1DX_info);
IF_(s1DF_0_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DX_info;
	JMP_(*R1.p);
	FE_
}


II_(s1DG_info);
IF_(s1DF_1_alt) {
	FB_
	R1.p = (P_)(R1.p[1]);
	*Sp = (W_)s1DG_info;
	JMP_(*R1.p);
	FE_
}

static StgWord s1DF_info[] = {
	(W_)s1DF_1_alt, (W_)s1DF_0_alt, 0x0, 0x0, 0x25
};

StgWord M_zdgtoDT_info[] = {
	0x10004, 0x0, 0x11
};

II_(s1DF_info);
FN_(M_zdgtoDT_entry) {
	FB_
	R1.p = (P_)(*Sp);
	*Sp = (W_)s1DF_info;
	JMP_(*R1.p);
	FE_
}
EI_(GHCziErr_patError_closure);
StgWord M_f_srt[] = {
	(W_)GHCziErr_patError_closure
};

EI_(M_f_info);
StgWord M_f_closure[] = {
	(W_)M_f_info, 0x0
};

static char c1Ep_str[] = "T.hs:(4,6)-(13,16)|case";

static StgWord s1Ee_info[] = {
	(W_)M_f_srt, 0x0, 0x10024
};

EI_(GHCziErr_patError_closure);
EI_(GHCziBase_True_closure);
IF_(s1Ee_ret) {
	W_ _c1Es;
	FB_
	_c1Es = (W_)((*((StgWord16*)((*R1.p) + (-0x2)))));
	if (_c1Es < 0x5) goto _c1EB;
	if (_c1Es < 0x7) goto _c1EC;
	if (_c1Es < 0x8) goto _c1ED;
	if (_c1Es != 0x8) goto _c1EE;
	R1.p = (P_)(W_)GHCziBase_True_closure;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1EE:
	*Sp = (W_)c1Ep_str;
	R1.p = (P_)(W_)GHCziErr_patError_closure;
	Sp=Sp-1;
	JMP_((W_)stg_ap_n_info);
    _c1EF:
	R1.p = (P_)(W_)GHCziBase_True_closure;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1EG:
	R1.p = (P_)(W_)GHCziBase_True_closure;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1EH:
	R1.p = (P_)(W_)GHCziBase_True_closure;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1EI:
	R1.p = (P_)(W_)GHCziBase_True_closure;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1EJ:
	R1.p = (P_)(W_)GHCziBase_True_closure;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1ED:
	R1.p = (P_)(W_)GHCziBase_True_closure;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1EC:
	if (_c1Es < 0x6) goto _c1EJ;
	R1.p = (P_)(W_)GHCziBase_True_closure;
	Sp=Sp+1;
	JMP_(*((P_)((*Sp) + (-0x14))));
    _c1EB:
	switch (_c1Es) {
	    case 0x0: goto _c1EF;
	    case 0x1: goto _c1EG;
	    case 0x2: goto _c1EH;
	    case 0x3: goto _c1EI;
	    case 0x4: goto _c1EE;
	}
	FE_
}

StgWord M_f_info[] = {
	(W_)M_f_srt, 0x10004, 0x0, 0x10011
};

EI_(M_f_closure);
II_(s1Ee_info);
FN_(M_f_entry) {
	FB_
	if (((W_)Sp - 0x4) < (W_)SpLim) goto _c1EL;
	R1.p = (P_)(*Sp);
	*Sp = (W_)s1Ee_info;
	JMP_(*R1.p);
    _c1EL:
	R1.p = (P_)(W_)M_f_closure;
	JMP_(stg_gc_fun);
	FE_
}
EI_(M_A_static_info);
StgWord M_A_closure[] = {
	(W_)M_A_static_info
};
EI_(M_B_static_info);
StgWord M_B_closure[] = {
	(W_)M_B_static_info
};
EI_(M_C_static_info);
StgWord M_C_closure[] = {
	(W_)M_C_static_info
};
EI_(M_D_static_info);
StgWord M_D_closure[] = {
	(W_)M_D_static_info
};
EI_(M_E_static_info);
StgWord M_E_closure[] = {
	(W_)M_E_static_info
};
EI_(M_F_static_info);
StgWord M_F_closure[] = {
	(W_)M_F_static_info
};
EI_(M_G_static_info);
StgWord M_G_closure[] = {
	(W_)M_G_static_info
};
EI_(M_H_static_info);
StgWord M_H_closure[] = {
	(W_)M_H_static_info
};
EI_(M_I_static_info);
StgWord M_I_closure[] = {
	(W_)M_I_static_info
};
EI_(M_J_static_info);
StgWord M_J_closure[] = {
	(W_)M_J_static_info
};
EI_(M_K_static_info);
StgWord M_K_closure[] = {
	(W_)M_K_static_info
};
EI_(M_L_static_info);
StgWord M_L_closure[] = {
	(W_)M_L_static_info
};
EI_(M_M_static_info);
StgWord M_M_closure[] = {
	(W_)M_M_static_info
};
EI_(M_N_static_info);
StgWord M_N_closure[] = {
	(W_)M_N_static_info
};
EI_(M_O_static_info);
StgWord M_O_closure[] = {
	(W_)M_O_static_info
};
EI_(M_P_static_info);
StgWord M_P_closure[] = {
	(W_)M_P_static_info
};
EI_(M_Q_static_info);
StgWord M_Q_closure[] = {
	(W_)M_Q_static_info
};
EI_(M_R_static_info);
StgWord M_R_closure[] = {
	(W_)M_R_static_info
};
EI_(M_R_closure);
EI_(M_Q_closure);
EI_(M_P_closure);
EI_(M_O_closure);
EI_(M_N_closure);
EI_(M_M_closure);
EI_(M_L_closure);
EI_(M_K_closure);
EI_(M_J_closure);
EI_(M_I_closure);
EI_(M_H_closure);
EI_(M_G_closure);
EI_(M_F_closure);
EI_(M_E_closure);
EI_(M_D_closure);
EI_(M_C_closure);
EI_(M_B_closure);
EI_(M_A_closure);
StgWord M_DT_closure_tbl[] = {
	(W_)M_A_closure, (W_)M_B_closure, (W_)M_C_closure, (W_)M_D_closure, (W_)M_E_closure, (W_)M_F_closure, (W_)M_G_closure, (W_)M_H_closure, (W_)M_I_closure, (W_)M_J_closure, (W_)M_K_closure, (W_)M_L_closure, (W_)M_M_closure, (W_)M_N_closure, (W_)M_O_closure, (W_)M_P_closure, (W_)M_Q_closure, (W_)M_R_closure
};
StgWord M_A_static_info[] = {
	0x0, 0xa
};

FN_(M_A_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_B_static_info[] = {
	0x0, 0x1000a
};

FN_(M_B_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_C_static_info[] = {
	0x0, 0x2000a
};

FN_(M_C_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_D_static_info[] = {
	0x0, 0x3000a
};

FN_(M_D_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_E_static_info[] = {
	0x0, 0x4000a
};

FN_(M_E_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_F_static_info[] = {
	0x0, 0x5000a
};

FN_(M_F_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_G_static_info[] = {
	0x0, 0x6000a
};

FN_(M_G_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_H_static_info[] = {
	0x0, 0x7000a
};

FN_(M_H_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_I_static_info[] = {
	0x0, 0x8000a
};

FN_(M_I_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_J_static_info[] = {
	0x0, 0x9000a
};

FN_(M_J_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_K_static_info[] = {
	0x0, 0xa000a
};

FN_(M_K_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_L_static_info[] = {
	0x0, 0xb000a
};

FN_(M_L_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_M_static_info[] = {
	0x0, 0xc000a
};

FN_(M_M_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_N_static_info[] = {
	0x0, 0xd000a
};

FN_(M_N_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_O_static_info[] = {
	0x0, 0xe000a
};

FN_(M_O_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_P_static_info[] = {
	0x0, 0xf000a
};

FN_(M_P_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_Q_static_info[] = {
	0x0, 0x10000a
};

FN_(M_Q_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
StgWord M_R_static_info[] = {
	0x0, 0x11000a
};

FN_(M_R_static_entry) {
	FB_
	JMP_(*Sp);
	FE_
}
static StgWord _module_registered[] = {
	0x0
};


EF_(__stginit_Prelude_);
FN_(__stginit_M_) {
	FB_
	if (0x0 != (*((P_)(W_)_module_registered))) goto _c1Fn;
	goto _c1Fp;
    _c1Fn:
	Sp=Sp+1;
	JMP_(Sp[-1]);
    _c1Fp:
	*((P_)(W_)_module_registered) = 0x1;
	Sp=Sp-1;
	*Sp = (W_)__stginit_Prelude_;
	goto _c1Fn;
	FE_
}


EF_(__stginit_M_);
FN_(__stginit_M) {
	FB_
	JMP_((W_)__stginit_M_);
	FE_
}


More information about the Cvs-ghc mailing list