Skip to content

Instantly share code, notes, and snippets.

@agam
Last active December 15, 2015 04:39
Show Gist options
  • Select an option

  • Save agam/5203008 to your computer and use it in GitHub Desktop.

Select an option

Save agam/5203008 to your computer and use it in GitHub Desktop.
Simple loop in haskell: data.vector.unboxed
.data
.align 8
.align 1
.globl __stginit_Main
.type __stginit_Main, @object
__stginit_Main:
.globl __stginit_ZCMain
.type __stginit_ZCMain, @object
__stginit_ZCMain:
.section .data
.align 8
.align 1
sJT_srt:
.quad vectorzm0zi9zi1_DataziVectorziUnboxedziBase_zdfUnboxInt_closure
.quad vectorzm0zi9zi1_DataziVectorziUnboxed_fromList_closure
.data
.align 8
.align 1
sJT_closure:
.quad sJT_info
.quad 0
.quad 0
.quad 0
.text
.align 8
.long sJT_srt-(sJT_info)+0
.long 0
.quad 0
.quad 12884901910
sJT_info:
.LcK9:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb .LcKb
addq $320,%r12
cmpq 144(%r13),%r12
ja .LcKd
movq $stg_CAF_BLACKHOLE_info,-312(%r12)
movq 160(%r13),%rax
movq %rax,-304(%r12)
movq %r13,%rdi
movq %rbx,%rsi
leaq -312(%r12),%rdx
subq $8,%rsp
movl $0,%eax
call newCAF
addq $8,%rsp
testq %rax,%rax
je .LcKe
.LcKf:
movq $stg_bh_upd_frame_info,-16(%rbp)
leaq -312(%r12),%rax
movq %rax,-8(%rbp)
movq $ghczmprim_GHCziTypes_Izh_con_info,-296(%r12)
movq $89,-288(%r12)
movq $ghczmprim_GHCziTypes_ZC_con_info,-280(%r12)
leaq -295(%r12),%rax
movq %rax,-272(%r12)
movq $ghczmprim_GHCziTypes_ZMZN_closure+1,-264(%r12)
movq $ghczmprim_GHCziTypes_Izh_con_info,-256(%r12)
movq $78,-248(%r12)
movq $ghczmprim_GHCziTypes_ZC_con_info,-240(%r12)
leaq -255(%r12),%rax
movq %rax,-232(%r12)
leaq -278(%r12),%rax
movq %rax,-224(%r12)
movq $ghczmprim_GHCziTypes_Izh_con_info,-216(%r12)
movq $67,-208(%r12)
movq $ghczmprim_GHCziTypes_ZC_con_info,-200(%r12)
leaq -215(%r12),%rax
movq %rax,-192(%r12)
leaq -238(%r12),%rax
movq %rax,-184(%r12)
movq $ghczmprim_GHCziTypes_Izh_con_info,-176(%r12)
movq $56,-168(%r12)
movq $ghczmprim_GHCziTypes_ZC_con_info,-160(%r12)
leaq -175(%r12),%rax
movq %rax,-152(%r12)
leaq -198(%r12),%rax
movq %rax,-144(%r12)
movq $ghczmprim_GHCziTypes_Izh_con_info,-136(%r12)
movq $45,-128(%r12)
movq $ghczmprim_GHCziTypes_ZC_con_info,-120(%r12)
leaq -135(%r12),%rax
movq %rax,-112(%r12)
leaq -158(%r12),%rax
movq %rax,-104(%r12)
movq $ghczmprim_GHCziTypes_Izh_con_info,-96(%r12)
movq $34,-88(%r12)
movq $ghczmprim_GHCziTypes_ZC_con_info,-80(%r12)
leaq -95(%r12),%rax
movq %rax,-72(%r12)
leaq -118(%r12),%rax
movq %rax,-64(%r12)
movq $ghczmprim_GHCziTypes_Izh_con_info,-56(%r12)
movq $23,-48(%r12)
movq $ghczmprim_GHCziTypes_ZC_con_info,-40(%r12)
leaq -55(%r12),%rax
movq %rax,-32(%r12)
leaq -78(%r12),%rax
movq %rax,-24(%r12)
movq $ghczmprim_GHCziTypes_ZC_con_info,-16(%r12)
movq $stg_INTLIKE_closure+449,-8(%r12)
leaq -38(%r12),%rax
movq %rax,0(%r12)
movl $vectorzm0zi9zi1_DataziVectorziUnboxed_fromList_closure,%ebx
movl $vectorzm0zi9zi1_DataziVectorziUnboxedziBase_zdfUnboxInt_closure,%r14d
leaq -14(%r12),%rsi
addq $-16,%rbp
jmp stg_ap_pp_fast
.LcKd:
movq $320,192(%r13)
.LcKb:
jmp *-16(%r13)
.LcKe:
jmp *(%rbx)
.size sJT_info, .-sJT_info
.section .data
.align 8
.align 1
sJV_srt:
.quad base_GHCziBase_zdfMonadIO_closure
.data
.align 8
.align 1
sJV_closure:
.quad sJV_info
.quad 0
.quad 0
.quad 0
.text
.align 8
.long sJV_srt-(sJV_info)+0
.long 0
.quad 0
.quad 4294967318
sJV_info:
.LcKK:
leaq -32(%rbp),%rax
cmpq %r15,%rax
jb .LcKM
addq $16,%r12
cmpq 144(%r13),%r12
ja .LcKO
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 .LcKP
.LcKQ:
movq $stg_bh_upd_frame_info,-16(%rbp)
leaq -8(%r12),%rax
movq %rax,-8(%rbp)
movq $ghczmprim_GHCziTuple_Z0T_closure+1,-24(%rbp)
movq $stg_ap_p_info,-32(%rbp)
movl $base_GHCziBase_zdfMonadIO_closure,%r14d
addq $-32,%rbp
jmp base_GHCziBase_return_info
.LcKO:
movq $16,192(%r13)
.LcKM:
jmp *-16(%r13)
.LcKP:
jmp *(%rbx)
.size sJV_info, .-sJV_info
.section .data
.align 8
.align 1
sJU_srt:
.quad base_SystemziIO_print_closure
.quad base_GHCziBase_zi_closure
.quad base_GHCziBase_zdfMonadIO_closure
.quad base_GHCziShow_zdfShowInt_closure
.data
.align 8
.align 1
sJU_closure:
.quad sJU_info
.quad 0
.quad 0
.quad 0
.text
.align 8
.long sJU_srt-(sJi_info)+0
.long 0
.quad 0
.quad 38654705680
sJi_info:
.LcL9:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb .LcLb
movq $stg_upd_frame_info,-16(%rbp)
movq %rbx,-8(%rbp)
movl $base_SystemziIO_print_closure,%ebx
movl $base_GHCziShow_zdfShowInt_closure,%r14d
addq $-16,%rbp
jmp stg_ap_p_fast
.LcLb:
jmp *-16(%r13)
.size sJi_info, .-sJi_info
.text
.align 8
.long sJU_srt-(sJj_info)+16
.long 0
.quad 0
.quad 4294967312
sJj_info:
.LcLj:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb .LcLl
movq $stg_upd_frame_info,-16(%rbp)
movq %rbx,-8(%rbp)
movl $base_GHCziBase_zdfMonadIO_closure,%r14d
addq $-16,%rbp
jmp base_GHCziBase_zgzg_info
.LcLl:
jmp *-16(%r13)
.size sJj_info, .-sJj_info
.text
.align 8
.long sJU_srt-(sJU_info)+0
.long 0
.quad 0
.quad 64424509462
sJU_info:
.LcLr:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb .LcLt
addq $48,%r12
cmpq 144(%r13),%r12
ja .LcLv
movq $stg_CAF_BLACKHOLE_info,-40(%r12)
movq 160(%r13),%rax
movq %rax,-32(%r12)
movq %r13,%rdi
movq %rbx,%rsi
leaq -40(%r12),%rdx
subq $8,%rsp
movl $0,%eax
call newCAF
addq $8,%rsp
testq %rax,%rax
je .LcLw
.LcLx:
movq $stg_bh_upd_frame_info,-16(%rbp)
leaq -40(%r12),%rax
movq %rax,-8(%rbp)
movq $sJi_info,-24(%r12)
movq $sJj_info,-8(%r12)
movl $base_GHCziBase_zi_closure,%ebx
leaq -8(%r12),%r14
leaq -24(%r12),%rsi
addq $-16,%rbp
jmp stg_ap_pp_fast
.LcLv:
movq $48,192(%r13)
.LcLt:
jmp *-16(%r13)
.LcLw:
jmp *(%rbx)
.size sJU_info, .-sJU_info
.section .data
.align 8
.align 1
Main_main_srt:
.quad vectorzm0zi9zi1_DataziVectorziUnboxedziBase_zdfUnboxInt_closure
.quad vectorzm0zi9zi1_DataziVectorziUnboxed_foldr_closure
.quad sJT_closure
.quad sJU_closure
.quad sJV_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 133143986198
.globl Main_main_info
.type Main_main_info, @object
Main_main_info:
.LcLO:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb .LcLQ
addq $16,%r12
cmpq 144(%r13),%r12
ja .LcLS
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 .LcLT
.LcLU:
movq $stg_bh_upd_frame_info,-16(%rbp)
leaq -8(%r12),%rax
movq %rax,-8(%rbp)
movl $vectorzm0zi9zi1_DataziVectorziUnboxed_foldr_closure,%ebx
movl $vectorzm0zi9zi1_DataziVectorziUnboxedziBase_zdfUnboxInt_closure,%r14d
movl $sJU_closure,%esi
movl $sJV_closure,%edi
movl $sJT_closure,%r8d
addq $-16,%rbp
jmp stg_ap_pppp_fast
.LcLS:
movq $16,192(%r13)
.LcLQ:
jmp *-16(%r13)
.LcLT:
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:
.LcMb:
leaq -16(%rbp),%rax
cmpq %r15,%rax
jb .LcMd
addq $16,%r12
cmpq 144(%r13),%r12
ja .LcMf
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 .LcMg
.LcMh:
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
.LcMf:
movq $16,192(%r13)
.LcMd:
jmp *-16(%r13)
.LcMg:
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