Skip to content

Instantly share code, notes, and snippets.

@agam
Created March 19, 2013 09:11
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 agam/5194680 to your computer and use it in GitHub Desktop.
Save agam/5194680 to your computer and use it in GitHub Desktop.
Simple loop in haskell
.data
.align 8
.align 1
.globl __stginit_Main
.type __stginit_Main, @object
__stginit_Main:
.globl __stginit_ZCMain
.type __stginit_ZCMain, @object
__stginit_ZCMain:
.data
.align 8
.align 1
ssO_closure:
.quad integerzmgmp_GHCziIntegerziType_Szh_static_info
.quad 89
.data
.align 8
.align 1
ssQ_closure:
.quad ghczmprim_GHCziTypes_ZC_static_info
.quad ssO_closure+1
.quad ghczmprim_GHCziTypes_ZMZN_closure+1
.quad 0
.data
.align 8
.align 1
ssR_closure:
.quad integerzmgmp_GHCziIntegerziType_Szh_static_info
.quad 78
.data
.align 8
.align 1
ssT_closure:
.quad ghczmprim_GHCziTypes_ZC_static_info
.quad ssR_closure+1
.quad ssQ_closure+2
.quad 0
.data
.align 8
.align 1
ssU_closure:
.quad integerzmgmp_GHCziIntegerziType_Szh_static_info
.quad 67
.data
.align 8
.align 1
ssW_closure:
.quad ghczmprim_GHCziTypes_ZC_static_info
.quad ssU_closure+1
.quad ssT_closure+2
.quad 0
.data
.align 8
.align 1
ssX_closure:
.quad integerzmgmp_GHCziIntegerziType_Szh_static_info
.quad 56
.data
.align 8
.align 1
ssZ_closure:
.quad ghczmprim_GHCziTypes_ZC_static_info
.quad ssX_closure+1
.quad ssW_closure+2
.quad 0
.data
.align 8
.align 1
st0_closure:
.quad integerzmgmp_GHCziIntegerziType_Szh_static_info
.quad 45
.data
.align 8
.align 1
st2_closure:
.quad ghczmprim_GHCziTypes_ZC_static_info
.quad st0_closure+1
.quad ssZ_closure+2
.quad 0
.data
.align 8
.align 1
st3_closure:
.quad integerzmgmp_GHCziIntegerziType_Szh_static_info
.quad 34
.data
.align 8
.align 1
st5_closure:
.quad ghczmprim_GHCziTypes_ZC_static_info
.quad st3_closure+1
.quad st2_closure+2
.quad 0
.data
.align 8
.align 1
st6_closure:
.quad integerzmgmp_GHCziIntegerziType_Szh_static_info
.quad 23
.data
.align 8
.align 1
st8_closure:
.quad ghczmprim_GHCziTypes_ZC_static_info
.quad st6_closure+1
.quad st5_closure+2
.quad 0
.data
.align 8
.align 1
st9_closure:
.quad integerzmgmp_GHCziIntegerziType_Szh_static_info
.quad 12
.data
.align 8
.align 1
stb_closure:
.quad ghczmprim_GHCziTypes_ZC_static_info
.quad st9_closure+1
.quad st8_closure+2
.quad 0
.section .data
.align 8
.align 1
stc_srt:
.quad base_SystemziIO_print_closure
.quad base_GHCziShow_zdfShowInteger_closure
.data
.align 8
.align 1
stc_closure:
.quad stc_info
.quad 0
.quad 0
.quad 0
.text
.align 8
.long stc_srt-(stc_info)+0
.long 0
.quad 0
.quad 12884901910
stc_info:
.LctW:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb .LctY
addq $16,%r12
cmpq 144(%r13),%r12
ja .Lcu0
movq $stg_CAF_BLACKHOLE_info,-8(%r12)
movq 160(%r13),%rax
movq %rax,0(%r12)
movq %r13,%rdi
movq %rbx,%rsi
leaq -8(%r12),%rdx
subq $8,%rsp
movl $0,%eax
call newCAF
addq $8,%rsp
testq %rax,%rax
je .Lcu1
.Lcu2:
movq $stg_bh_upd_frame_info,-16(%rbp)
leaq -8(%r12),%rax
movq %rax,-8(%rbp)
movl $base_SystemziIO_print_closure,%ebx
movl $base_GHCziShow_zdfShowInteger_closure,%r14d
addq $-16,%rbp
jmp stg_ap_p_fast
.Lcu0:
movq $16,192(%r13)
.LctY:
jmp *-16(%r13)
.Lcu1:
jmp *(%rbx)
.size stc_info, .-stc_info
.section .data
.align 8
.align 1
Main_main_srt:
.quad base_ControlziMonad_mapMzu_closure
.quad base_GHCziBase_zdfMonadIO_closure
.quad stb_closure
.quad stc_closure
.data
.align 8
.align 1
.globl Main_main_closure
.type Main_main_closure, @object
Main_main_closure:
.quad Main_main_info
.quad 0
.quad 0
.quad 0
.text
.align 8
.long Main_main_srt-(Main_main_info)+0
.long 0
.quad 0
.quad 64424509462
.globl Main_main_info
.type Main_main_info, @object
Main_main_info:
.Lcuj:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb .Lcul
addq $16,%r12
cmpq 144(%r13),%r12
ja .Lcun
movq $stg_CAF_BLACKHOLE_info,-8(%r12)
movq 160(%r13),%rax
movq %rax,0(%r12)
movq %r13,%rdi
movq %rbx,%rsi
leaq -8(%r12),%rdx
subq $8,%rsp
movl $0,%eax
call newCAF
addq $8,%rsp
testq %rax,%rax
je .Lcuo
.Lcup:
movq $stg_bh_upd_frame_info,-16(%rbp)
leaq -8(%r12),%rax
movq %rax,-8(%rbp)
movl $base_ControlziMonad_mapMzu_closure,%ebx
movl $base_GHCziBase_zdfMonadIO_closure,%r14d
movl $stc_closure,%esi
movl $stb_closure+2,%edi
addq $-16,%rbp
jmp stg_ap_ppp_fast
.Lcun:
movq $16,192(%r13)
.Lcul:
jmp *-16(%r13)
.Lcuo:
jmp *(%rbx)
.size Main_main_info, .-Main_main_info
.section .data
.align 8
.align 1
ZCMain_main_srt:
.quad base_GHCziTopHandler_runMainIO_closure
.quad Main_main_closure
.data
.align 8
.align 1
.globl ZCMain_main_closure
.type ZCMain_main_closure, @object
ZCMain_main_closure:
.quad ZCMain_main_info
.quad 0
.quad 0
.quad 0
.text
.align 8
.long ZCMain_main_srt-(ZCMain_main_info)+0
.long 0
.quad 0
.quad 12884901910
.globl ZCMain_main_info
.type ZCMain_main_info, @object
ZCMain_main_info:
.LcuG:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb .LcuI
addq $16,%r12
cmpq 144(%r13),%r12
ja .LcuK
movq $stg_CAF_BLACKHOLE_info,-8(%r12)
movq 160(%r13),%rax
movq %rax,0(%r12)
movq %r13,%rdi
movq %rbx,%rsi
leaq -8(%r12),%rdx
subq $8,%rsp
movl $0,%eax
call newCAF
addq $8,%rsp
testq %rax,%rax
je .LcuL
.LcuM:
movq $stg_bh_upd_frame_info,-16(%rbp)
leaq -8(%r12),%rax
movq %rax,-8(%rbp)
movl $base_GHCziTopHandler_runMainIO_closure,%ebx
movl $Main_main_closure,%r14d
addq $-16,%rbp
jmp stg_ap_p_fast
.LcuK:
movq $16,192(%r13)
.LcuI:
jmp *-16(%r13)
.LcuL:
jmp *(%rbx)
.size ZCMain_main_info, .-ZCMain_main_info
.section .note.GNU-stack,"",@progbits
.ident "GHC 7.4.1"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment