Untitled diff

Created Diff never expires
51 removals
81 lines
45 additions
76 lines
cbQ9: // global
cbQA: // global
R5 = P64[Sp + 32];
R5 = P64[Sp + 32];
R4 = P64[Sp + 24];
R4 = P64[Sp + 24];
R3 = P64[Sp + 16];
R3 = P64[Sp + 16];
R2 = P64[Sp + 8];
R2 = P64[Sp + 8];
Sp = Sp + 48;
Sp = Sp + 48;
call GHC.IO.Handle.Internals.$wdo_operation_info(R5,
call GHC.IO.Handle.Internals.$wdo_operation_info(R5,
R4,
R4,
R3,
R3,
R2) args: 8, res: 0, upd: 8;
R2) args: 8, res: 0, upd: 8;
cbQ6: // global
cbQx: // global
R1 = _saEg::P64;
R1 = _saEF::P64;
Sp = Sp + 48;
Sp = Sp + 48;
call stg_raiseIO#(R1) args: 8, res: 0, upd: 8;
call stg_raiseIO#(R1) args: 8, res: 0, upd: 8;
}
}
},
},
sat_entry() // [R1]
{ info_tbl: [(cbQt,
label: sat_info
rep:HeapRep 2 ptrs { Thunk })]
stack_info: arg_space: 8 updfr_space: Just 8
}
{offset
cbQt: // global
R2 = P64[R1 + 24];
R1 = P64[R1 + 16];
call stg_ap_p_fast(R2, R1) args: 8, res: 0, upd: 8;
}
},
GHC.IO.Handle.Internals.$wdo_operation_entry() // [R5, R4, R3, R2]
GHC.IO.Handle.Internals.$wdo_operation_entry() // [R5, R4, R3, R2]
{ info_tbl: [(cbPq,
{ info_tbl: [(cbPP,
label: block_info
label: block_info
rep:StackRep [False, False, False, False]),
rep:StackRep [False, False, False, False]),
(cbQw,
(cbPR,
label: block_info
rep:StackRep [False, False, False, False, False]),
(cbQQ,
label: GHC.IO.Handle.Internals.$wdo_operation_info
label: GHC.IO.Handle.Internals.$wdo_operation_info
rep:HeapRep static { Fun {arity: 5 fun_type: ArgSpec 24} })]
rep:HeapRep static { Fun {arity: 5 fun_type: ArgSpec 24} })]
stack_info: arg_space: 8 updfr_space: Just 8
stack_info: arg_space: 8 updfr_space: Just 8
}
}
{offset
{offset
cbQw: // global
cbQQ: // global
if ((Sp + -40) < SpLim) (likely: False) goto cbQx; else goto cbQy;
if ((Sp + -48) < SpLim) (likely: False) goto cbQR; else goto cbQS;
cbQx: // global
cbQR: // global
R5 = R5;
R5 = R5;
R4 = R4;
R4 = R4;
R3 = R3;
R3 = R3;
R2 = R2;
R2 = R2;
R1 = GHC.IO.Handle.Internals.$wdo_operation_closure;
R1 = GHC.IO.Handle.Internals.$wdo_operation_closure;
call (stg_gc_fun)(R5, R4, R3, R2, R1) args: 8, res: 0, upd: 8;
call (stg_gc_fun)(R5, R4, R3, R2, R1) args: 8, res: 0, upd: 8;
cbQy: // global
cbQS: // global
I64[Sp - 40] = cbPq;
I64[Sp - 40] = cbPP;
R1 = R5;
R1 = R5;
P64[Sp - 32] = R2;
P64[Sp - 32] = R2;
P64[Sp - 24] = R3;
P64[Sp - 24] = R3;
P64[Sp - 16] = R4;
P64[Sp - 16] = R4;
P64[Sp - 8] = R5;
P64[Sp - 8] = R5;
Sp = Sp - 40;
Sp = Sp - 40;
call stg_takeMVar#(R1) returns to cbPq, args: 8, res: 8, upd: 8;
call stg_takeMVar#(R1) returns to cbPP, args: 8, res: 8, upd: 8;
cbPq: // global
cbPP: // global
Hp = Hp + 80;
I64[Sp - 8] = cbPR;
if (Hp > HpLim) (likely: False) goto cbQB; else goto cbQA;
R2 = R1;
cbQB: // global
_saEA::P64 = R1;
HpAlloc = 80;
R1 = P64[Sp + 24];
P64[Sp] = _saEA::P64;
Sp = Sp - 8;
call stg_ap_p_fast(R2,
R1) returns to cbPR, args: 8, res: 8, upd: 8;
cbPR: // global
Hp = Hp + 48;
if (Hp > HpLim) (likely: False) goto cbQW; else goto cbQV;
cbQW: // global
HpAlloc = 48;
R1 = R1;
call stg_gc_unpt_r1(R1) returns to cbPR, args: 8, res: 8, upd: 8;
cbQV: // global
I64[Hp - 40] = sat_info;
P64[Hp - 32] = P64[Sp + 16];
P64[Hp - 24] = P64[Sp + 24];
P64[Hp - 16] = P64[Sp + 32];
P64[Hp - 8] = P64[Sp + 40];
P64[Hp] = P64[Sp + 8];
R2 = Hp - 38;
R1 = R1;
R1 = R1;
call stg_gc_unpt_r1(R1) returns to cbPq, args: 8, res: 8, upd: 8;
Sp = Sp + 48;
cbQA: // global
I64[Hp - 72] = sat_info;
P64[Hp - 64] = P64[Sp + 8];
P64[Hp - 56] = P64[Sp + 16];
_saE6::P64 = P64[Sp + 24];
P64[Hp - 48] = _saE6::P64;
P64[Hp - 40] = P64[Sp + 32];
P64[Hp - 32] = R1;
I64[Hp - 24] = sat_info;
P64[Hp - 8] = _saE6::P64;
P64[Hp] = R1;
R2 = Hp - 70;
R1 = Hp - 24;
Sp = Sp + 40;
call stg_catch#(R2, R1) args: 8, res: 0, upd: 8;
call stg_catch#(R2, R1) args: 8, res: 0, upd: 8;
}
}
}]
}]