| 1 | [1 of 1] Compiling Main ( num.hs, num.o ) |
|---|
| 2 | |
|---|
| 3 | ==================== Cmm ==================== |
|---|
| 4 | [section "data" { __stginit_Main: |
|---|
| 5 | }, |
|---|
| 6 | __stginit_ZCMain() |
|---|
| 7 | { update_frame: <none> |
|---|
| 8 | } |
|---|
| 9 | }] |
|---|
| 10 | |
|---|
| 11 | ------------------- |
|---|
| 12 | |
|---|
| 13 | [section "relreadonly" { |
|---|
| 14 | Main_main2_srt: |
|---|
| 15 | const base_GHCziShow_shows33_closure; |
|---|
| 16 | const base_GHCziShow_shows35_closure; |
|---|
| 17 | }, |
|---|
| 18 | section "data" { |
|---|
| 19 | Main_main2_closure: |
|---|
| 20 | const Main_main2_info; |
|---|
| 21 | const 0; |
|---|
| 22 | const 0; |
|---|
| 23 | const 0; |
|---|
| 24 | }, |
|---|
| 25 | Main_main2_info() |
|---|
| 26 | { update_frame: <none> |
|---|
| 27 | label: Main_main2_info |
|---|
| 28 | rep:HeapRep static { Thunk } |
|---|
| 29 | } |
|---|
| 30 | c1Te: |
|---|
| 31 | if (Sp - 8 < SpLim) goto c1Tg; |
|---|
| 32 | Hp = Hp + 8; |
|---|
| 33 | if (Hp > HpLim) goto c1Ti; |
|---|
| 34 | I32[Hp - 4] = stg_CAF_BLACKHOLE_info; |
|---|
| 35 | I32[Hp + 0] = CurrentTSO; |
|---|
| 36 | (_c1Tj::I32,) = foreign "ccall" |
|---|
| 37 | newCAF((BaseReg, PtrHint), (R1, PtrHint), (Hp - 4, PtrHint)); |
|---|
| 38 | if (_c1Tj::I32 == 0) goto c1Tk; |
|---|
| 39 | goto c1Tl; |
|---|
| 40 | c1Tg: jump stg_gc_enter_1 (); |
|---|
| 41 | c1Ti: |
|---|
| 42 | HpAlloc = 8; |
|---|
| 43 | goto c1Tg; |
|---|
| 44 | c1Tk: jump I32[R1] (); |
|---|
| 45 | c1Tl: |
|---|
| 46 | I32[Sp - 8] = stg_bh_upd_frame_info; |
|---|
| 47 | I32[Sp - 4] = Hp - 4; |
|---|
| 48 | (_s1SX::F64,) = foreign "ccall" MO_F64_Log((2.0 :: W64,)); |
|---|
| 49 | (_s1SW::F64,) = foreign "ccall" |
|---|
| 50 | MO_F64_Log((2.147483648e9 :: W64,)); |
|---|
| 51 | _s1SZ::F64 = %MO_F_Quot_W64(_s1SW::F64, _s1SX::F64); |
|---|
| 52 | _c1Ts::I32 = %MO_F_Gt_W64(_s1SZ::F64, 31.0 :: W64); |
|---|
| 53 | ; |
|---|
| 54 | if (_c1Ts::I32 >= 1) goto c1Tv; |
|---|
| 55 | R1 = base_GHCziShow_shows35_closure; |
|---|
| 56 | Sp = Sp - 8; |
|---|
| 57 | R1 = R1 & (-4); |
|---|
| 58 | jump I32[R1] (); |
|---|
| 59 | c1Tv: |
|---|
| 60 | R1 = base_GHCziShow_shows33_closure; |
|---|
| 61 | Sp = Sp - 8; |
|---|
| 62 | R1 = R1 & (-4); |
|---|
| 63 | jump I32[R1] (); |
|---|
| 64 | }] |
|---|
| 65 | |
|---|
| 66 | ------------------- |
|---|
| 67 | |
|---|
| 68 | [section "relreadonly" { |
|---|
| 69 | Main_main1_srt: |
|---|
| 70 | const base_GHCziIOziHandleziText_hPutStr2_closure; |
|---|
| 71 | const base_GHCziIOziHandleziFD_stdout_closure; |
|---|
| 72 | const Main_main2_closure; |
|---|
| 73 | }, |
|---|
| 74 | section "data" { |
|---|
| 75 | Main_main1_closure: |
|---|
| 76 | const Main_main1_info; |
|---|
| 77 | const 0; |
|---|
| 78 | }, |
|---|
| 79 | Main_main1_info() |
|---|
| 80 | { update_frame: <none> |
|---|
| 81 | label: Main_main1_info |
|---|
| 82 | rep:HeapRep static { Fun {arity: 1 fun_type: ArgSpec 3} } |
|---|
| 83 | } |
|---|
| 84 | c1TA: |
|---|
| 85 | if (Sp - 12 < SpLim) goto c1TD; |
|---|
| 86 | I32[Sp - 4] = ghczmprim_GHCziTypes_True_closure+2; |
|---|
| 87 | I32[Sp - 8] = Main_main2_closure; |
|---|
| 88 | I32[Sp - 12] = base_GHCziIOziHandleziFD_stdout_closure; |
|---|
| 89 | Sp = Sp - 12; |
|---|
| 90 | jump base_GHCziIOziHandleziText_hPutStr2_info (); |
|---|
| 91 | c1TD: |
|---|
| 92 | R1 = Main_main1_closure; |
|---|
| 93 | jump stg_gc_fun (); |
|---|
| 94 | }] |
|---|
| 95 | |
|---|
| 96 | ------------------- |
|---|
| 97 | |
|---|
| 98 | [section "relreadonly" { |
|---|
| 99 | Main_main_srt: |
|---|
| 100 | const Main_main1_closure; |
|---|
| 101 | }, |
|---|
| 102 | section "data" { |
|---|
| 103 | Main_main_closure: |
|---|
| 104 | const Main_main_info; |
|---|
| 105 | const 0; |
|---|
| 106 | }, |
|---|
| 107 | Main_main_info() |
|---|
| 108 | { update_frame: <none> |
|---|
| 109 | label: Main_main_info |
|---|
| 110 | rep:HeapRep static { Fun {arity: 1 fun_type: ArgSpec 3} } |
|---|
| 111 | } |
|---|
| 112 | c1TI: jump Main_main1_info (); |
|---|
| 113 | }] |
|---|
| 114 | |
|---|
| 115 | ------------------- |
|---|
| 116 | |
|---|
| 117 | [section "relreadonly" { |
|---|
| 118 | Main_main3_srt: |
|---|
| 119 | const base_GHCziTopHandler_runMainIO1_closure; |
|---|
| 120 | const Main_main1_closure; |
|---|
| 121 | }, |
|---|
| 122 | section "data" { |
|---|
| 123 | Main_main3_closure: |
|---|
| 124 | const Main_main3_info; |
|---|
| 125 | const 0; |
|---|
| 126 | }, |
|---|
| 127 | Main_main3_info() |
|---|
| 128 | { update_frame: <none> |
|---|
| 129 | label: Main_main3_info |
|---|
| 130 | rep:HeapRep static { Fun {arity: 1 fun_type: ArgSpec 3} } |
|---|
| 131 | } |
|---|
| 132 | c1TN: |
|---|
| 133 | if (Sp - 4 < SpLim) goto c1TQ; |
|---|
| 134 | I32[Sp - 4] = Main_main1_closure+1; |
|---|
| 135 | Sp = Sp - 4; |
|---|
| 136 | jump base_GHCziTopHandler_runMainIO1_info (); |
|---|
| 137 | c1TQ: |
|---|
| 138 | R1 = Main_main3_closure; |
|---|
| 139 | jump stg_gc_fun (); |
|---|
| 140 | }] |
|---|
| 141 | |
|---|
| 142 | ------------------- |
|---|
| 143 | |
|---|
| 144 | [section "relreadonly" { |
|---|
| 145 | ZCMain_main_srt: |
|---|
| 146 | const Main_main3_closure; |
|---|
| 147 | }, |
|---|
| 148 | section "data" { |
|---|
| 149 | ZCMain_main_closure: |
|---|
| 150 | const ZCMain_main_info; |
|---|
| 151 | const 0; |
|---|
| 152 | }, |
|---|
| 153 | ZCMain_main_info() |
|---|
| 154 | { update_frame: <none> |
|---|
| 155 | label: ZCMain_main_info |
|---|
| 156 | rep:HeapRep static { Fun {arity: 1 fun_type: ArgSpec 3} } |
|---|
| 157 | } |
|---|
| 158 | c1TV: jump Main_main3_info (); |
|---|
| 159 | }] |
|---|
| 160 | |
|---|
| 161 | |
|---|
| 162 | |
|---|
| 163 | ==================== Asm code ==================== |
|---|
| 164 | .data |
|---|
| 165 | .align 4 |
|---|
| 166 | .align 1 |
|---|
| 167 | .globl __stginit_Main |
|---|
| 168 | .type __stginit_Main, @object |
|---|
| 169 | __stginit_Main: |
|---|
| 170 | .globl __stginit_ZCMain |
|---|
| 171 | .type __stginit_ZCMain, @object |
|---|
| 172 | __stginit_ZCMain: |
|---|
| 173 | .section .data |
|---|
| 174 | .align 4 |
|---|
| 175 | .align 1 |
|---|
| 176 | Main_main2_srt: |
|---|
| 177 | .long base_GHCziShow_shows33_closure |
|---|
| 178 | .long base_GHCziShow_shows35_closure |
|---|
| 179 | .data |
|---|
| 180 | .align 4 |
|---|
| 181 | .align 1 |
|---|
| 182 | .globl Main_main2_closure |
|---|
| 183 | .type Main_main2_closure, @object |
|---|
| 184 | Main_main2_closure: |
|---|
| 185 | .long Main_main2_info |
|---|
| 186 | .long 0 |
|---|
| 187 | .long 0 |
|---|
| 188 | .long 0 |
|---|
| 189 | .text |
|---|
| 190 | .align 4,0x90 |
|---|
| 191 | .long Main_main2_srt-(Main_main2_info)+0 |
|---|
| 192 | .long 0 |
|---|
| 193 | .long 196630 |
|---|
| 194 | .globl Main_main2_info |
|---|
| 195 | .type Main_main2_info, @object |
|---|
| 196 | Main_main2_info: |
|---|
| 197 | .Lc1Te: |
|---|
| 198 | leal -8(%ebp),%eax |
|---|
| 199 | cmpl 84(%ebx),%eax |
|---|
| 200 | jb .Lc1Tg |
|---|
| 201 | addl $8,%edi |
|---|
| 202 | cmpl 92(%ebx),%edi |
|---|
| 203 | ja .Lc1Ti |
|---|
| 204 | movl $stg_CAF_BLACKHOLE_info,-4(%edi) |
|---|
| 205 | movl 100(%ebx),%eax |
|---|
| 206 | movl %eax,0(%edi) |
|---|
| 207 | leal -4(%edi),%eax |
|---|
| 208 | pushl %eax |
|---|
| 209 | pushl %esi |
|---|
| 210 | pushl %ebx |
|---|
| 211 | ffree %st(0) ;ffree %st(1) ;ffree %st(2) ;ffree %st(3) |
|---|
| 212 | ffree %st(4) ;ffree %st(5) |
|---|
| 213 | call newCAF |
|---|
| 214 | addl $12,%esp |
|---|
| 215 | testl %eax,%eax |
|---|
| 216 | je .Lc1Tk |
|---|
| 217 | .Lc1Tl: |
|---|
| 218 | movl $stg_bh_upd_frame_info,-8(%ebp) |
|---|
| 219 | leal -4(%edi),%eax |
|---|
| 220 | movl %eax,-4(%ebp) |
|---|
| 221 | subl $4,%esp |
|---|
| 222 | # gldsd .Ln1U7,%fake0 |
|---|
| 223 | fldl .Ln1U7 ; fstp %st(1) |
|---|
| 224 | subl $8,%esp |
|---|
| 225 | # gstsd %fake0,(%esp) |
|---|
| 226 | fstl (%esp) |
|---|
| 227 | ffree %st(0) ;ffree %st(1) ;ffree %st(2) ;ffree %st(3) |
|---|
| 228 | ffree %st(4) ;ffree %st(5) |
|---|
| 229 | call log |
|---|
| 230 | addl $12,%esp |
|---|
| 231 | subl $4,%esp |
|---|
| 232 | # gldsd .Ln1Ub,%fake1 |
|---|
| 233 | fldl .Ln1Ub ; fstp %st(2) |
|---|
| 234 | subl $8,%esp |
|---|
| 235 | # gstsd %fake1,(%esp) |
|---|
| 236 | fld %st(1) ; fstpl (%esp) |
|---|
| 237 | # gstt %fake0,76(%esp) |
|---|
| 238 | fld %st(0) ; fstpt 76(%esp) |
|---|
| 239 | ffree %st(0) ;ffree %st(1) ;ffree %st(2) ;ffree %st(3) |
|---|
| 240 | ffree %st(4) ;ffree %st(5) |
|---|
| 241 | call log |
|---|
| 242 | addl $12,%esp |
|---|
| 243 | # gldt 64(%esp),%fake1 |
|---|
| 244 | fldt 64(%esp) ; fstp %st(2) |
|---|
| 245 | # gdivt %fake0,%fake1,%fake0 |
|---|
| 246 | #GDIV-xxxcase1 |
|---|
| 247 | fld %st(1) ; fdivrp %st(0),%st(1) |
|---|
| 248 | # gldsd .Ln1Ue,%fake1 |
|---|
| 249 | fldl .Ln1Ue ; fstp %st(2) |
|---|
| 250 | # gcmp_g %fake0,%fake1 |
|---|
| 251 | pushl %eax ; fld %st(0) |
|---|
| 252 | fcomp %st(2); fstsw %ax ; sahf ; setpo %ah |
|---|
| 253 | seta %al ; andb %ah,%al ; decb %al ; popl %eax |
|---|
| 254 | je .Lc1Tv |
|---|
| 255 | movl $base_GHCziShow_shows35_closure,%esi |
|---|
| 256 | addl $-8,%ebp |
|---|
| 257 | andl $-4,%esi |
|---|
| 258 | ffree %st(0) ;ffree %st(1) ;ffree %st(2) ;ffree %st(3) |
|---|
| 259 | ffree %st(4) ;ffree %st(5) |
|---|
| 260 | jmp *(%esi) |
|---|
| 261 | .Lc1Ti: |
|---|
| 262 | movl $8,116(%ebx) |
|---|
| 263 | .Lc1Tg: |
|---|
| 264 | ffree %st(0) ;ffree %st(1) ;ffree %st(2) ;ffree %st(3) |
|---|
| 265 | ffree %st(4) ;ffree %st(5) |
|---|
| 266 | jmp *-8(%ebx) |
|---|
| 267 | .Lc1Tk: |
|---|
| 268 | ffree %st(0) ;ffree %st(1) ;ffree %st(2) ;ffree %st(3) |
|---|
| 269 | ffree %st(4) ;ffree %st(5) |
|---|
| 270 | jmp *(%esi) |
|---|
| 271 | .Lc1Tv: |
|---|
| 272 | movl $base_GHCziShow_shows33_closure,%esi |
|---|
| 273 | addl $-8,%ebp |
|---|
| 274 | andl $-4,%esi |
|---|
| 275 | ffree %st(0) ;ffree %st(1) ;ffree %st(2) ;ffree %st(3) |
|---|
| 276 | ffree %st(4) ;ffree %st(5) |
|---|
| 277 | jmp *(%esi) |
|---|
| 278 | .size Main_main2_info, .-Main_main2_info |
|---|
| 279 | .section .rodata |
|---|
| 280 | .align 4 |
|---|
| 281 | .align 8 |
|---|
| 282 | .Ln1U7: |
|---|
| 283 | .byte 0 |
|---|
| 284 | .byte 0 |
|---|
| 285 | .byte 0 |
|---|
| 286 | .byte 0 |
|---|
| 287 | .byte 0 |
|---|
| 288 | .byte 0 |
|---|
| 289 | .byte 0 |
|---|
| 290 | .byte 64 |
|---|
| 291 | .section .rodata |
|---|
| 292 | .align 4 |
|---|
| 293 | .align 8 |
|---|
| 294 | .Ln1Ub: |
|---|
| 295 | .byte 0 |
|---|
| 296 | .byte 0 |
|---|
| 297 | .byte 0 |
|---|
| 298 | .byte 0 |
|---|
| 299 | .byte 0 |
|---|
| 300 | .byte 0 |
|---|
| 301 | .byte 224 |
|---|
| 302 | .byte 65 |
|---|
| 303 | .section .rodata |
|---|
| 304 | .align 4 |
|---|
| 305 | .align 8 |
|---|
| 306 | .Ln1Ue: |
|---|
| 307 | .byte 0 |
|---|
| 308 | .byte 0 |
|---|
| 309 | .byte 0 |
|---|
| 310 | .byte 0 |
|---|
| 311 | .byte 0 |
|---|
| 312 | .byte 0 |
|---|
| 313 | .byte 63 |
|---|
| 314 | .byte 64 |
|---|
| 315 | .section .data |
|---|
| 316 | .align 4 |
|---|
| 317 | .align 1 |
|---|
| 318 | Main_main1_srt: |
|---|
| 319 | .long base_GHCziIOziHandleziText_hPutStr2_closure |
|---|
| 320 | .long base_GHCziIOziHandleziFD_stdout_closure |
|---|
| 321 | .long Main_main2_closure |
|---|
| 322 | .data |
|---|
| 323 | .align 4 |
|---|
| 324 | .align 1 |
|---|
| 325 | .globl Main_main1_closure |
|---|
| 326 | .type Main_main1_closure, @object |
|---|
| 327 | Main_main1_closure: |
|---|
| 328 | .long Main_main1_info |
|---|
| 329 | .long 0 |
|---|
| 330 | .text |
|---|
| 331 | .align 4,0x90 |
|---|
| 332 | .long Main_main1_srt-(Main_main1_info)+0 |
|---|
| 333 | .long 65539 |
|---|
| 334 | .long 0 |
|---|
| 335 | .long 458767 |
|---|
| 336 | .globl Main_main1_info |
|---|
| 337 | .type Main_main1_info, @object |
|---|
| 338 | Main_main1_info: |
|---|
| 339 | .Lc1TA: |
|---|
| 340 | leal -12(%ebp),%eax |
|---|
| 341 | cmpl 84(%ebx),%eax |
|---|
| 342 | jb .Lc1TD |
|---|
| 343 | movl $ghczmprim_GHCziTypes_True_closure+2,-4(%ebp) |
|---|
| 344 | movl $Main_main2_closure,-8(%ebp) |
|---|
| 345 | movl $base_GHCziIOziHandleziFD_stdout_closure,-12(%ebp) |
|---|
| 346 | addl $-12,%ebp |
|---|
| 347 | jmp base_GHCziIOziHandleziText_hPutStr2_info |
|---|
| 348 | .Lc1TD: |
|---|
| 349 | movl $Main_main1_closure,%esi |
|---|
| 350 | jmp *-4(%ebx) |
|---|
| 351 | .size Main_main1_info, .-Main_main1_info |
|---|
| 352 | .section .data |
|---|
| 353 | .align 4 |
|---|
| 354 | .align 1 |
|---|
| 355 | Main_main_srt: |
|---|
| 356 | .long Main_main1_closure |
|---|
| 357 | .data |
|---|
| 358 | .align 4 |
|---|
| 359 | .align 1 |
|---|
| 360 | .globl Main_main_closure |
|---|
| 361 | .type Main_main_closure, @object |
|---|
| 362 | Main_main_closure: |
|---|
| 363 | .long Main_main_info |
|---|
| 364 | .long 0 |
|---|
| 365 | .text |
|---|
| 366 | .align 4,0x90 |
|---|
| 367 | .long Main_main_srt-(Main_main_info)+0 |
|---|
| 368 | .long 65539 |
|---|
| 369 | .long 0 |
|---|
| 370 | .long 65551 |
|---|
| 371 | .globl Main_main_info |
|---|
| 372 | .type Main_main_info, @object |
|---|
| 373 | Main_main_info: |
|---|
| 374 | .Lc1TI: |
|---|
| 375 | jmp Main_main1_info |
|---|
| 376 | .size Main_main_info, .-Main_main_info |
|---|
| 377 | .section .data |
|---|
| 378 | .align 4 |
|---|
| 379 | .align 1 |
|---|
| 380 | Main_main3_srt: |
|---|
| 381 | .long base_GHCziTopHandler_runMainIO1_closure |
|---|
| 382 | .long Main_main1_closure |
|---|
| 383 | .data |
|---|
| 384 | .align 4 |
|---|
| 385 | .align 1 |
|---|
| 386 | .globl Main_main3_closure |
|---|
| 387 | .type Main_main3_closure, @object |
|---|
| 388 | Main_main3_closure: |
|---|
| 389 | .long Main_main3_info |
|---|
| 390 | .long 0 |
|---|
| 391 | .text |
|---|
| 392 | .align 4,0x90 |
|---|
| 393 | .long Main_main3_srt-(Main_main3_info)+0 |
|---|
| 394 | .long 65539 |
|---|
| 395 | .long 0 |
|---|
| 396 | .long 196623 |
|---|
| 397 | .globl Main_main3_info |
|---|
| 398 | .type Main_main3_info, @object |
|---|
| 399 | Main_main3_info: |
|---|
| 400 | .Lc1TN: |
|---|
| 401 | leal -4(%ebp),%eax |
|---|
| 402 | cmpl 84(%ebx),%eax |
|---|
| 403 | jb .Lc1TQ |
|---|
| 404 | movl $Main_main1_closure+1,-4(%ebp) |
|---|
| 405 | addl $-4,%ebp |
|---|
| 406 | jmp base_GHCziTopHandler_runMainIO1_info |
|---|
| 407 | .Lc1TQ: |
|---|
| 408 | movl $Main_main3_closure,%esi |
|---|
| 409 | jmp *-4(%ebx) |
|---|
| 410 | .size Main_main3_info, .-Main_main3_info |
|---|
| 411 | .section .data |
|---|
| 412 | .align 4 |
|---|
| 413 | .align 1 |
|---|
| 414 | ZCMain_main_srt: |
|---|
| 415 | .long Main_main3_closure |
|---|
| 416 | .data |
|---|
| 417 | .align 4 |
|---|
| 418 | .align 1 |
|---|
| 419 | .globl ZCMain_main_closure |
|---|
| 420 | .type ZCMain_main_closure, @object |
|---|
| 421 | ZCMain_main_closure: |
|---|
| 422 | .long ZCMain_main_info |
|---|
| 423 | .long 0 |
|---|
| 424 | .text |
|---|
| 425 | .align 4,0x90 |
|---|
| 426 | .long ZCMain_main_srt-(ZCMain_main_info)+0 |
|---|
| 427 | .long 65539 |
|---|
| 428 | .long 0 |
|---|
| 429 | .long 65551 |
|---|
| 430 | .globl ZCMain_main_info |
|---|
| 431 | .type ZCMain_main_info, @object |
|---|
| 432 | ZCMain_main_info: |
|---|
| 433 | .Lc1TV: |
|---|
| 434 | jmp Main_main3_info |
|---|
| 435 | .size ZCMain_main_info, .-ZCMain_main_info |
|---|
| 436 | |
|---|
| 437 | |
|---|
| 438 | Linking num ... |
|---|