Skip to content

Instantly share code, notes, and snippets.

@erthink
Created February 26, 2020 01:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erthink/f75ba3cbb63032b04b89a7410f296ef2 to your computer and use it in GitHub Desktop.
Save erthink/f75ba3cbb63032b04b89a7410f296ef2 to your computer and use it in GitHub Desktop.
asm-dump of wc.hs
[1 of 1] Compiling Main ( wc.hs, wc.o )
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl __stginit_main@main:Main
.type __stginit_main@main:Main, @object
__stginit_main@main:Main:
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.$WState_closure
.type Main.$WState_closure, @object
Main.$WState_closure:
.quad Main.$WState_info
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 17179869208
.quad 0
.quad 15
.globl Main.$WState_info
.type Main.$WState_info, @object
Main.$WState_info:
_c66L:
leaq -32(%rbp),%rax
cmpq %r15,%rax
jb _c674
_c675:
movq $block_c66I_info,-32(%rbp)
movq %r14,%rbx
movq %rsi,-24(%rbp)
movq %rdi,-16(%rbp)
movq %r8,-8(%rbp)
addq $-32,%rbp
testb $7,%bl
jne _c66I
_c66J:
jmp *(%rbx)
_c67b:
movq $40,904(%r13)
jmp stg_gc_unpt_r1
.align 8
.quad 451
.quad 32
block_c66Y_info:
_c66Y:
addq $40,%r12
cmpq 856(%r13),%r12
ja _c67b
_c67a:
movq 7(%rbx),%rax
movq $Main.State_con_info,-32(%r12)
movq 8(%rbp),%rbx
movq %rbx,-24(%r12)
movq 16(%rbp),%rbx
movq %rbx,-16(%r12)
movq 24(%rbp),%rbx
movq %rbx,-8(%r12)
movq %rax,(%r12)
leaq -31(%r12),%rbx
addq $32,%rbp
jmp *(%rbp)
_c674:
movl $Main.$WState_closure,%ebx
jmp *-8(%r13)
.align 8
.quad 195
.quad 32
block_c66T_info:
_c66T:
movq $block_c66Y_info,(%rbp)
movq 7(%rbx),%rax
movq 24(%rbp),%rbx
movq %rax,24(%rbp)
testb $7,%bl
jne _c66Y
_c66Z:
jmp *(%rbx)
.align 8
.quad 67
.quad 32
block_c66O_info:
_c66O:
movq $block_c66T_info,(%rbp)
movq 7(%rbx),%rax
movq 16(%rbp),%rbx
movq %rax,16(%rbp)
testb $7,%bl
jne _c66T
_c66U:
jmp *(%rbx)
.align 8
.quad 3
.quad 32
block_c66I_info:
_c66I:
movq $block_c66O_info,(%rbp)
movq 7(%rbx),%rax
movq 8(%rbp),%rbx
movq %rax,8(%rbp)
testb $7,%bl
jne _c66O
_c66P:
jmp *(%rbx)
.size Main.$WState_info, .-Main.$WState_info
==================== Asm code ====================
.section .data
.align 8
.align 1
lvl_r64h_closure:
.quad lvl_r64h_info
.quad 0
.quad 0
.quad 0
==================== Asm code ====================
.section .rodata
.align 8
.align 1
c67q_str:
.byte 80
.byte 97
.byte 116
.byte 116
.byte 101
.byte 114
.byte 110
.byte 32
.byte 109
.byte 97
.byte 116
.byte 99
.byte 104
.byte 32
.byte 102
.byte 97
.byte 105
.byte 108
.byte 117
.byte 114
.byte 101
.byte 32
.byte 105
.byte 110
.byte 32
.byte 100
.byte 111
.byte 32
.byte 101
.byte 120
.byte 112
.byte 114
.byte 101
.byte 115
.byte 115
.byte 105
.byte 111
.byte 110
.byte 32
.byte 97
.byte 116
.byte 32
.byte 119
.byte 99
.byte 46
.byte 104
.byte 115
.byte 58
.byte 51
.byte 49
.byte 58
.byte 51
.byte 45
.byte 56
.byte 0
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 0
.quad 22
lvl_r64h_info:
_c67r:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb _c67s
_c67t:
subq $8,%rsp
movq %r13,%rax
movq %rbx,%rsi
movq %rax,%rdi
xorl %eax,%eax
call newCAF
addq $8,%rsp
testq %rax,%rax
je _c67p
_c67o:
movq $stg_bh_upd_frame_info,-16(%rbp)
movq %rax,-8(%rbp)
movl $c67q_str,%r14d
addq $-16,%rbp
jmp GHC.CString.unpackCString#_info
_c67s:
jmp *-16(%r13)
_c67p:
jmp *(%rbx)
.size lvl_r64h_info, .-lvl_r64h_info
==================== Asm code ====================
.section .data
.align 8
.align 1
lvl1_r64i_closure:
.quad GHC.IO.Exception.IOError_static_info
.quad GHC.Base.Nothing_closure+1
.quad GHC.IO.Exception.UserError_closure+1
.quad GHC.Types.[]_closure+1
.quad lvl_r64h_closure
.quad GHC.Base.Nothing_closure+1
.quad GHC.Base.Nothing_closure+1
.quad 0
==================== Asm code ====================
.section .data
.align 8
.align 1
lvl2_r64j_closure:
.quad lvl2_r64j_info
.quad 0
.quad 0
.quad 0
==================== Asm code ====================
.section .text
.align 8
.align 8
.long S67M_srt-(lvl2_r64j_info)+0
.long 0
.quad 0
.quad 12884901910
lvl2_r64j_info:
_c67J:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb _c67K
_c67L:
subq $8,%rsp
movq %r13,%rax
movq %rbx,%rsi
movq %rax,%rdi
xorl %eax,%eax
call newCAF
addq $8,%rsp
testq %rax,%rax
je _c67I
_c67H:
movq $stg_bh_upd_frame_info,-16(%rbp)
movq %rax,-8(%rbp)
movl $lvl1_r64i_closure+1,%r14d
addq $-16,%rbp
jmp GHC.IO.Exception.$fExceptionIOException_$ctoException_info
_c67K:
jmp *-16(%r13)
_c67I:
jmp *(%rbx)
.size lvl2_r64j_info, .-lvl2_r64j_info
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.$wfail_closure
.type Main.$wfail_closure, @object
Main.$wfail_closure:
.quad Main.$wfail_info
.quad 0
==================== Asm code ====================
.section .text
.align 8
.align 8
.long S67M_srt-(Main.$wfail_info)+16
.long 0
.quad 4294967299
.quad 0
.quad 4294967311
.globl Main.$wfail_info
.type Main.$wfail_info, @object
Main.$wfail_info:
_c67X:
movl $lvl2_r64j_closure,%ebx
jmp stg_raiseIO#
.size Main.$wfail_info, .-Main.$wfail_info
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.$wgo_closure
.type Main.$wgo_closure, @object
Main.$wgo_closure:
.quad Main.$wgo_info
==================== Asm code ====================
.section .text
.align 8
.globl Main.$wgo_slow
.type Main.$wgo_slow, @object
Main.$wgo_slow:
_c69g:
movq 32(%rbp),%r9
movq 24(%rbp),%r8
movq 16(%rbp),%rdi
movq 8(%rbp),%rsi
movq (%rbp),%r14
addq $40,%rbp
jmp Main.$wgo_info
.size Main.$wgo_slow, .-Main.$wgo_slow
==================== Asm code ====================
.section .text
.align 8
.align 8
.long Main.$wgo_slow-(Main.$wgo_info)+0
.long 0
.quad 4038
.quad 0
.quad 30064771072
.quad 0
.quad 15
.globl Main.$wgo_info
.type Main.$wgo_info, @object
Main.$wgo_info:
_c69m:
movq (%rbp),%rax
_c69h:
addq $40,%r12
cmpq 856(%r13),%r12
ja _c69q
_c69p:
cmpq %rax,%r9
je _c69R
_c69O:
movzbl (%r9),%ebx
cmpq $33,%rbx
jae _c69K
_u6ax:
cmpq $32,%rbx
jb _u6ay
_c69M:
addq $-40,%r12
movq %rax,(%rbp)
movl $1,%ebx
subq %r8,%rbx
addq %rbx,%rsi
incq %r9
movl $1,%ebx
incq %r14
_n6aU:
movq %rbx,%r8
jmp _c69h
_c69R:
movq $Main.State_con_info,-32(%r12)
movq %r14,-24(%r12)
movq %rsi,-16(%r12)
movq %rdi,-8(%r12)
movq %r8,(%r12)
leaq -31(%r12),%rbx
addq $8,%rbp
jmp *(%rbp)
_c69q:
movq $40,904(%r13)
movl $Main.$wgo_closure,%ebx
movq %r14,-40(%rbp)
movq %rsi,-32(%rbp)
movq %rdi,-24(%rbp)
movq %r8,-16(%rbp)
movq %r9,-8(%rbp)
addq $-40,%rbp
jmp *-8(%r13)
_u6ay:
cmpq $10,%rbx
jne _c69K
_c69L:
addq $-40,%r12
movq %rax,(%rbp)
movl $1,%ebx
subq %r8,%rbx
addq %rbx,%rsi
incq %r9
movl $1,%ebx
incq %rdi
incq %r14
_n6aV:
movq %rbx,%r8
jmp _c69h
_c69K:
addq $-9,%rbx
cmpb $4,%bl
jbe _c69I
_c69H:
addq $-40,%r12
movq %rax,(%rbp)
incq %r9
xorl %ebx,%ebx
incq %r14
_n6aS:
movq %rbx,%r8
jmp _c69h
_c69I:
addq $-40,%r12
movq %rax,(%rbp)
movl $1,%ebx
subq %r8,%rbx
addq %rbx,%rsi
incq %r9
movl $1,%ebx
incq %r14
_n6aT:
movq %rbx,%r8
jmp _c69h
.size Main.$wgo_info, .-Main.$wgo_info
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.main2_closure
.type Main.main2_closure, @object
Main.main2_closure:
.quad :_static_info
.quad GHC.Show.shows4_closure
.quad GHC.Types.[]_closure+1
.quad 3
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.main1_closure
.type Main.main1_closure, @object
Main.main1_closure:
.quad Main.main1_info
.quad 0
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 4294967301
.quad 4294967296
.quad 11
sat_s65T_info:
_c6cI:
leaq -8(%rbp),%rax
cmpq %r15,%rax
jb _c6cJ
_c6cK:
movq $block_c6cF_info,-8(%rbp)
movq %r14,%rdi
movq 7(%rbx),%rsi
xorl %r14d,%r14d
addq $-8,%rbp
jmp GHC.Show.$wshowSignedInt_info
_c6cN:
movq $24,904(%r13)
jmp stg_gc_pp
.align 8
.quad 0
.quad 32
block_c6cF_info:
_c6cF:
addq $24,%r12
cmpq 856(%r13),%r12
ja _c6cN
_c6cM:
movq $:_con_info,-16(%r12)
movq %rbx,-8(%r12)
movq %r14,(%r12)
leaq -14(%r12),%rbx
addq $8,%rbp
jmp *(%rbp)
_c6cJ:
jmp *-8(%r13)
.size sat_s65T_info, .-sat_s65T_info
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 4294967301
.quad 4294967296
.quad 11
sat_s65O_info:
_c6cX:
leaq -8(%rbp),%rax
cmpq %r15,%rax
jb _c6cY
_c6cZ:
movq $block_c6cU_info,-8(%rbp)
movq %r14,%rdi
movq 7(%rbx),%rsi
xorl %r14d,%r14d
addq $-8,%rbp
jmp GHC.Show.$wshowSignedInt_info
_c6d2:
movq $24,904(%r13)
jmp stg_gc_pp
.align 8
.quad 0
.quad 32
block_c6cU_info:
_c6cU:
addq $24,%r12
cmpq 856(%r13),%r12
ja _c6d2
_c6d1:
movq $:_con_info,-16(%r12)
movq %rbx,-8(%r12)
movq %r14,(%r12)
leaq -14(%r12),%rbx
addq $8,%rbp
jmp *(%rbp)
_c6cY:
jmp *-8(%r13)
.size sat_s65O_info, .-sat_s65O_info
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 12884901888
.quad 16
sat_s65V_info:
_c6d3:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb _c6d4
_c6d5:
addq $56,%r12
cmpq 856(%r13),%r12
ja _c6d7
_c6d6:
movq $stg_upd_frame_info,-16(%rbp)
movq %rbx,-8(%rbp)
movq 24(%rbx),%rax
movl $1,%ecx
subq 32(%rbx),%rcx
movq 16(%rbx),%rbx
addq %rcx,%rbx
movq $sat_s65T_info,-48(%r12)
movq %rax,-40(%r12)
movq $:_con_info,-32(%r12)
leaq -47(%r12),%rax
movq %rax,-24(%r12)
movq $GHC.Types.[]_closure+1,-16(%r12)
movq $sat_s65O_info,-8(%r12)
movq %rbx,(%r12)
leaq -30(%r12),%rdi
leaq -7(%r12),%rsi
movl $Main.main2_closure+2,%r14d
addq $-16,%rbp
jmp GHC.Show.$fShow(,,)_$sgo_info
_c6d7:
movq $56,904(%r13)
_c6d4:
jmp *-16(%r13)
.size sat_s65V_info, .-sat_s65V_info
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 17179869184
.quad 16
sat_s660_info:
_c6dc:
leaq -24(%rbp),%rax
cmpq %r15,%rax
jb _c6dd
_c6de:
addq $64,%r12
cmpq 856(%r13),%r12
ja _c6dg
_c6df:
movq $stg_upd_frame_info,-16(%rbp)
movq %rbx,-8(%rbp)
movq 16(%rbx),%rax
movq 24(%rbx),%rcx
movq 32(%rbx),%rdx
movq 40(%rbx),%rbx
movq $sat_s65V_info,-56(%r12)
movq %rcx,-40(%r12)
movq %rdx,-32(%r12)
movq %rbx,-24(%r12)
movq $:_con_info,-16(%r12)
movq $GHC.Show.shows5_closure,-8(%r12)
leaq -56(%r12),%rbx
movq %rbx,(%r12)
movq $block_c6d9_info,-24(%rbp)
leaq -14(%r12),%rdi
movq %rax,%rsi
xorl %r14d,%r14d
addq $-24,%rbp
jmp GHC.Show.$wshowSignedInt_info
_c6dj:
movq $24,904(%r13)
jmp stg_gc_pp
.align 8
.quad 0
.quad 32
block_c6d9_info:
_c6d9:
addq $24,%r12
cmpq 856(%r13),%r12
ja _c6dj
_c6di:
movq $:_con_info,-16(%r12)
movq %rbx,-8(%r12)
movq %r14,(%r12)
leaq -14(%r12),%rbx
addq $8,%rbp
jmp *(%rbp)
_c6dg:
movq $64,904(%r13)
_c6dd:
jmp *-16(%r13)
.size sat_s660_info, .-sat_s660_info
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 12884901889
.quad 16
sat_s661_info:
_c6dk:
leaq -24(%rbp),%rax
cmpq %r15,%rax
jb _c6dm
_c6dn:
movq $block_c6cc_info,-16(%rbp)
movq 24(%rbx),%rax
movq 32(%rbx),%rcx
movq %rax,%r9
addq %rcx,%r9
movl $1,%r8d
xorl %edi,%edi
xorl %esi,%esi
xorl %r14d,%r14d
leaq 40(%rbx),%rdx
addq (%rdx),%rcx
addq %rcx,%rax
movq %rax,-24(%rbp)
movq 16(%rbx),%rax
movq %rax,-8(%rbp)
addq $-24,%rbp
jmp Main.$wgo_info
_c6dr:
movq $72,904(%r13)
jmp stg_gc_unpt_r1
.align 8
.quad 0
.quad 32
block_c6ch_info:
_c6ch:
addq $72,%r12
cmpq 856(%r13),%r12
ja _c6dr
_c6dq:
movq 7(%rbx),%rax
movq 15(%rbx),%rcx
movq 23(%rbx),%rdx
movq 31(%rbx),%rbx
movq $sat_s660_info,-64(%r12)
movq %rax,-48(%r12)
movq %rcx,-40(%r12)
movq %rdx,-32(%r12)
movq %rbx,-24(%r12)
movq $:_con_info,-16(%r12)
movq $GHC.Show.shows7_closure,-8(%r12)
leaq -64(%r12),%rax
movq %rax,(%r12)
leaq -14(%r12),%rbx
addq $8,%rbp
jmp *(%rbp)
_c6dm:
jmp *-16(%r13)
.align 8
.quad 1
.quad 32
block_c6cc_info:
_c6cc:
movq $block_c6ch_info,8(%rbp)
addq $8,%rbp
testb $7,%bl
jne _c6ch
_c6ci:
jmp *(%rbx)
.size sat_s661_info, .-sat_s661_info
==================== Asm code ====================
.section .text
.align 8
.align 8
.long S67M_srt-(Main.main1_info)+24
.long 0
.quad 4294967299
.quad 0
.quad 270582939663
.globl Main.main1_info
.type Main.main1_info, @object
Main.main1_info:
_c6dw:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb _c6dx
_c6dy:
movq $block_c6bF_info,-8(%rbp)
addq $-8,%rbp
jmp System.Environment.getArgs1_info
_c6dN:
addq $16,%rbp
jmp Main.$wfail_info
_c6dJ:
movq $48,904(%r13)
jmp stg_gc_unpt_r1
.align 8
.long S67M_srt-(block_c6bU_info)+24
.long 0
.quad 0
.quad 21474836512
block_c6bU_info:
_c6bU:
addq $48,%r12
cmpq 856(%r13),%r12
ja _c6dJ
_c6dI:
movq 7(%rbx),%rax
movq 15(%rbx),%rcx
movq 23(%rbx),%rdx
movq 31(%rbx),%rbx
movq $sat_s661_info,-40(%r12)
movq %rax,-24(%r12)
movq %rcx,-16(%r12)
movq %rdx,-8(%r12)
movq %rbx,(%r12)
movl $GHC.Types.True_closure+2,%edi
leaq -40(%r12),%rsi
movl $GHC.IO.Handle.FD.stdout_closure,%r14d
addq $8,%rbp
jmp GHC.IO.Handle.Text.hPutStr2_info
.align 8
.long S67M_srt-(block_c6bN_info)+24
.long 0
.quad 1
.quad 64424509472
block_c6bN_info:
_c6bN:
andl $7,%ebx
cmpq $1,%rbx
jne _c6dN
_c6dF:
movq 8(%rbp),%rax
movq $block_c6bS_info,8(%rbp)
movq %rax,%r14
addq $8,%rbp
jmp System.IO.Posix.MMap.unsafeMMapFile1_info
_c6dx:
movl $Main.main1_closure,%ebx
jmp *-8(%r13)
.align 8
.long S67M_srt-(block_c6bH_info)+24
.long 0
.quad 0
.quad 64424509472
block_c6bH_info:
_c6bH:
movq %rbx,%rax
andl $7,%eax
cmpq $1,%rax
jne _c6du
_c6dt:
addq $8,%rbp
jmp Main.$wfail_info
.align 8
.long S67M_srt-(block_c6bS_info)+24
.long 0
.quad 0
.quad 21474836512
block_c6bS_info:
_c6bS:
movq $block_c6bU_info,(%rbp)
testb $7,%bl
jne _c6bU
_c6bV:
jmp *(%rbx)
_c6du:
movq $block_c6bN_info,-8(%rbp)
movq 6(%rbx),%rax
movq 14(%rbx),%rbx
movq %rax,(%rbp)
addq $-8,%rbp
testb $7,%bl
jne _c6bN
_c6bO:
jmp *(%rbx)
.align 8
.long S67M_srt-(block_c6bF_info)+24
.long 0
.quad 0
.quad 64424509472
block_c6bF_info:
_c6bF:
movq $block_c6bH_info,(%rbp)
testb $7,%bl
jne _c6bH
_c6bI:
jmp *(%rbx)
.size Main.main1_info, .-Main.main1_info
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.main_closure
.type Main.main_closure, @object
Main.main_closure:
.quad Main.main_info
.quad 0
==================== Asm code ====================
.section .text
.align 8
.align 8
.long S67M_srt-(Main.main_info)+64
.long 0
.quad 4294967299
.quad 0
.quad 4294967311
.globl Main.main_info
.type Main.main_info, @object
Main.main_info:
_c6eu:
jmp Main.main1_info
.size Main.main_info, .-Main.main_info
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.main3_closure
.type Main.main3_closure, @object
Main.main3_closure:
.quad Main.main3_info
.quad 0
==================== Asm code ====================
.section .text
.align 8
.align 8
.long S67M_srt-(Main.main3_info)+64
.long 0
.quad 4294967299
.quad 0
.quad 12884901903
.globl Main.main3_info
.type Main.main3_info, @object
Main.main3_info:
_c6eF:
movl $Main.main1_closure+1,%r14d
jmp GHC.TopHandler.runMainIO1_info
.size Main.main3_info, .-Main.main3_info
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl :Main.main_closure
.type :Main.main_closure, @object
:Main.main_closure:
.quad :Main.main_info
.quad 0
==================== Asm code ====================
.section .text
.align 8
.align 8
.long S67M_srt-(:Main.main_info)+80
.long 0
.quad 4294967299
.quad 0
.quad 4294967311
.globl :Main.main_info
.type :Main.main_info, @object
:Main.main_info:
_c6eQ:
jmp Main.main3_info
.size :Main.main_info, .-:Main.main_info
==================== Asm code ====================
.section .rodata
.align 8
.align 1
c6eY_str:
.byte 83
.byte 116
.byte 97
.byte 116
.byte 101
.byte 0
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.$tcState1_closure
.type Main.$tcState1_closure, @object
Main.$tcState1_closure:
.quad GHC.Types.TrNameS_static_info
.quad c6eY_str
==================== Asm code ====================
.section .rodata
.align 8
.align 1
c6f2_str:
.byte 39
.byte 83
.byte 116
.byte 97
.byte 116
.byte 101
.byte 0
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.$tc'State1_closure
.type Main.$tc'State1_closure, @object
Main.$tc'State1_closure:
.quad GHC.Types.TrNameS_static_info
.quad c6f2_str
==================== Asm code ====================
.section .rodata
.align 8
.align 1
c6f6_str:
.byte 77
.byte 97
.byte 105
.byte 110
.byte 0
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.$trModule1_closure
.type Main.$trModule1_closure, @object
Main.$trModule1_closure:
.quad GHC.Types.TrNameS_static_info
.quad c6f6_str
==================== Asm code ====================
.section .rodata
.align 8
.align 1
c6fa_str:
.byte 109
.byte 97
.byte 105
.byte 110
.byte 0
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.$trModule2_closure
.type Main.$trModule2_closure, @object
Main.$trModule2_closure:
.quad GHC.Types.TrNameS_static_info
.quad c6fa_str
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.$trModule_closure
.type Main.$trModule_closure, @object
Main.$trModule_closure:
.quad GHC.Types.Module_static_info
.quad Main.$trModule2_closure+1
.quad Main.$trModule1_closure+1
.quad 3
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.$tc'State_closure
.type Main.$tc'State_closure, @object
Main.$tc'State_closure:
.quad GHC.Types.TyCon_static_info
.quad Main.$trModule_closure+1
.quad Main.$tc'State1_closure+1
.quad 5865727074706985857
.quad 7529931243514310794
.quad 3
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.$tcState_closure
.type Main.$tcState_closure, @object
Main.$tcState_closure:
.quad GHC.Types.TyCon_static_info
.quad Main.$trModule_closure+1
.quad Main.$tcState1_closure+1
.quad 5905770718391460737
.quad 3851935663103286392
.quad 3
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.bs_closure
.type Main.bs_closure, @object
Main.bs_closure:
.quad Main.bs_info
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 4294967301
.quad 0
.quad 15
.globl Main.bs_info
.type Main.bs_info, @object
Main.bs_info:
_c6ft:
leaq -8(%rbp),%rax
cmpq %r15,%rax
jb _c6fx
_c6fy:
movq $block_c6fq_info,-8(%rbp)
movq %r14,%rbx
addq $-8,%rbp
testb $7,%bl
jne _c6fq
_c6fr:
jmp *(%rbx)
_c6fB:
movq $16,904(%r13)
jmp stg_gc_unpt_r1
.align 8
.quad 0
.quad 32
block_c6fq_info:
_c6fq:
addq $16,%r12
cmpq 856(%r13),%r12
ja _c6fB
_c6fA:
movq 7(%rbx),%rax
movq $GHC.Types.I#_con_info,-8(%r12)
movq %rax,(%r12)
leaq -7(%r12),%rbx
addq $8,%rbp
jmp *(%rbp)
_c6fx:
movl $Main.bs_closure,%ebx
jmp *-8(%r13)
.size Main.bs_info, .-Main.bs_info
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.ws_closure
.type Main.ws_closure, @object
Main.ws_closure:
.quad Main.ws_info
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 4294967301
.quad 0
.quad 15
.globl Main.ws_info
.type Main.ws_info, @object
Main.ws_info:
_c6fR:
leaq -8(%rbp),%rax
cmpq %r15,%rax
jb _c6fV
_c6fW:
movq $block_c6fO_info,-8(%rbp)
movq %r14,%rbx
addq $-8,%rbp
testb $7,%bl
jne _c6fO
_c6fP:
jmp *(%rbx)
_c6fZ:
movq $16,904(%r13)
jmp stg_gc_unpt_r1
.align 8
.quad 0
.quad 32
block_c6fO_info:
_c6fO:
addq $16,%r12
cmpq 856(%r13),%r12
ja _c6fZ
_c6fY:
movq 15(%rbx),%rax
movq $GHC.Types.I#_con_info,-8(%r12)
movq %rax,(%r12)
leaq -7(%r12),%rbx
addq $8,%rbp
jmp *(%rbp)
_c6fV:
movl $Main.ws_closure,%ebx
jmp *-8(%r13)
.size Main.ws_info, .-Main.ws_info
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.ls_closure
.type Main.ls_closure, @object
Main.ls_closure:
.quad Main.ls_info
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 4294967301
.quad 0
.quad 15
.globl Main.ls_info
.type Main.ls_info, @object
Main.ls_info:
_c6gf:
leaq -8(%rbp),%rax
cmpq %r15,%rax
jb _c6gj
_c6gk:
movq $block_c6gc_info,-8(%rbp)
movq %r14,%rbx
addq $-8,%rbp
testb $7,%bl
jne _c6gc
_c6gd:
jmp *(%rbx)
_c6gn:
movq $16,904(%r13)
jmp stg_gc_unpt_r1
.align 8
.quad 0
.quad 32
block_c6gc_info:
_c6gc:
addq $16,%r12
cmpq 856(%r13),%r12
ja _c6gn
_c6gm:
movq 23(%rbx),%rax
movq $GHC.Types.I#_con_info,-8(%r12)
movq %rax,(%r12)
leaq -7(%r12),%rbx
addq $8,%rbp
jmp *(%rbp)
_c6gj:
movl $Main.ls_closure,%ebx
jmp *-8(%r13)
.size Main.ls_info, .-Main.ls_info
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.wasSpace_closure
.type Main.wasSpace_closure, @object
Main.wasSpace_closure:
.quad Main.wasSpace_info
==================== Asm code ====================
.section .text
.align 8
.align 8
.quad 4294967301
.quad 0
.quad 15
.globl Main.wasSpace_info
.type Main.wasSpace_info, @object
Main.wasSpace_info:
_c6gD:
leaq -8(%rbp),%rax
cmpq %r15,%rax
jb _c6gH
_c6gI:
movq $block_c6gA_info,-8(%rbp)
movq %r14,%rbx
addq $-8,%rbp
testb $7,%bl
jne _c6gA
_c6gB:
jmp *(%rbx)
_c6gL:
movq $16,904(%r13)
jmp stg_gc_unpt_r1
.align 8
.quad 0
.quad 32
block_c6gA_info:
_c6gA:
addq $16,%r12
cmpq 856(%r13),%r12
ja _c6gL
_c6gK:
movq 31(%rbx),%rax
movq $GHC.Types.I#_con_info,-8(%r12)
movq %rax,(%r12)
leaq -7(%r12),%rbx
addq $8,%rbp
jmp *(%rbp)
_c6gH:
movl $Main.wasSpace_closure,%ebx
jmp *-8(%r13)
.size Main.wasSpace_info, .-Main.wasSpace_info
==================== Asm code ====================
.section .data
.align 8
.align 1
.globl Main.State_closure
.type Main.State_closure, @object
Main.State_closure:
.quad Main.State_info
==================== Asm code ====================
.section .text
.align 8
.globl Main.State_slow
.type Main.State_slow, @object
Main.State_slow:
_c6gS:
movq 24(%rbp),%r8
movq 16(%rbp),%rdi
movq 8(%rbp),%rsi
movq (%rbp),%r14
addq $32,%rbp
jmp Main.State_info
.size Main.State_slow, .-Main.State_slow
==================== Asm code ====================
.section .text
.align 8
.align 8
.long Main.State_slow-(Main.State_info)+0
.long 0
.quad 964
.quad 0
.quad 17179869184
.quad 0
.quad 15
Main.State_info:
_c6gX:
addq $40,%r12
cmpq 856(%r13),%r12
ja _c6h1
_c6h0:
movq $Main.State_con_info,-32(%r12)
movq %r14,-24(%r12)
movq %rsi,-16(%r12)
movq %rdi,-8(%r12)
movq %r8,(%r12)
leaq -31(%r12),%rbx
jmp *(%rbp)
_c6h1:
movq $40,904(%r13)
movl $Main.State_closure,%ebx
movq %r14,-32(%rbp)
movq %rsi,-24(%rbp)
movq %rdi,-16(%rbp)
movq %r8,-8(%rbp)
addq $-32,%rbp
jmp *-8(%r13)
.size Main.State_info, .-Main.State_info
==================== Asm code ====================
.section .rodata
.align 8
.align 1
i6ha_str:
.byte 109
.byte 97
.byte 105
.byte 110
.byte 58
.byte 77
.byte 97
.byte 105
.byte 110
.byte 46
.byte 83
.byte 116
.byte 97
.byte 116
.byte 101
.byte 0
==================== Asm code ====================
.section .text
.align 8
.align 8
.long i6ha_str-(Main.State_con_info)+0
.long 0
.quad 17179869184
.quad 1
.globl Main.State_con_info
.type Main.State_con_info, @object
Main.State_con_info:
_c6h8:
incq %rbx
jmp *(%rbp)
.size Main.State_con_info, .-Main.State_con_info
==================== Asm code ====================
.section .rodata
.align 8
.align 1
i6hb_str:
.byte 109
.byte 97
.byte 105
.byte 110
.byte 58
.byte 77
.byte 97
.byte 105
.byte 110
.byte 46
.byte 83
.byte 116
.byte 97
.byte 116
.byte 101
.byte 0
==================== Asm code ====================
.section .text
.align 8
.align 8
.long i6hb_str-(Main.State_static_info)+0
.long 0
.quad 17179869184
.quad 8
.globl Main.State_static_info
.type Main.State_static_info, @object
Main.State_static_info:
_c6h9:
incq %rbx
jmp *(%rbp)
.size Main.State_static_info, .-Main.State_static_info
==================== Asm code ====================
.section .data.rel.ro
.align 8
.align 1
S67M_srt:
.quad GHC.IO.Exception.$fExceptionIOException_$ctoException_closure
.quad lvl1_r64i_closure
.quad lvl2_r64j_closure
.quad GHC.IO.Handle.FD.stdout_closure
.quad System.IO.Posix.MMap.unsafeMMapFile1_closure
.quad GHC.IO.Handle.Text.hPutStr2_closure
.quad Main.$wfail_closure
.quad System.Environment.getArgs1_closure
.quad Main.main1_closure
.quad GHC.TopHandler.runMainIO1_closure
.quad Main.main3_closure
Linking hwc ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment