lama_byterun/runtime/runtime.s

6569 lines
112 KiB
ArmAsm
Raw Normal View History

2024-01-26 18:45:03 +01:00
.file "runtime.c"
.text
.section .rodata
.LC0:
.string "*** FAILURE: "
.text
.type vfailure, @function
vfailure:
.LFB6:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq stderr(%rip), %rax
movq %rax, %rcx
movl $13, %edx
movl $1, %esi
leaq .LC0(%rip), %rax
movq %rax, %rdi
call fwrite@PLT
movq stderr(%rip), %rax
movq -16(%rbp), %rdx
movq -8(%rbp), %rcx
movq %rcx, %rsi
movq %rax, %rdi
call vfprintf@PLT
movl $255, %edi
call exit@PLT
.cfi_endproc
.LFE6:
.size vfailure, .-vfailure
.globl failure
.type failure, @function
failure:
.LFB7:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $224, %rsp
movq %rdi, -216(%rbp)
movq %rsi, -168(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L3
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L3:
movq %fs:40, %rax
movq %rax, -184(%rbp)
xorl %eax, %eax
movl $8, -208(%rbp)
movl $48, -204(%rbp)
leaq 16(%rbp), %rax
movq %rax, -200(%rbp)
leaq -176(%rbp), %rax
movq %rax, -192(%rbp)
leaq -208(%rbp), %rdx
movq -216(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call vfailure
nop
movq -184(%rbp), %rax
subq %fs:40, %rax
je .L4
call __stack_chk_fail@PLT
.L4:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE7:
.size failure, .-failure
.globl Lassert
.type Lassert, @function
Lassert:
.LFB8:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $224, %rsp
movq %rdi, -216(%rbp)
movq %rsi, -224(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L6
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L6:
movq %fs:40, %rax
movq %rax, -184(%rbp)
xorl %eax, %eax
movq -216(%rbp), %rax
sarq %rax
testq %rax, %rax
jne .L9
movl $16, -208(%rbp)
movl $48, -204(%rbp)
leaq 16(%rbp), %rax
movq %rax, -200(%rbp)
leaq -176(%rbp), %rax
movq %rax, -192(%rbp)
leaq -208(%rbp), %rdx
movq -224(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call vfailure
.L9:
nop
movq -184(%rbp), %rax
subq %fs:40, %rax
je .L8
call __stack_chk_fail@PLT
.L8:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE8:
.size Lassert, .-Lassert
.globl global_sysargs
.bss
.align 8
.type global_sysargs, @object
.size global_sysargs, 8
global_sysargs:
.zero 8
.text
.globl LkindOf
.type LkindOf, @function
LkindOf:
.LFB9:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L11
movl $9, %eax
jmp .L12
.L11:
movq -8(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
.L12:
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE9:
.size LkindOf, .-LkindOf
.section .rodata
.LC1:
.string "compareTags, 0"
.LC2:
.string "boxed value expected in %s\n"
.LC3:
.string "compareTags, 1"
.align 8
.LC4:
.string "not a sexpr in compareTags: %d, %d\n"
.text
.globl LcompareTags
.type LcompareTags, @function
LcompareTags:
.LFB10:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movq %rsi, -32(%rbp)
movq -24(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L14
leaq .LC1(%rip), %rax
movq %rax, %rsi
leaq .LC2(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L14:
movq -32(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L15
leaq .LC3(%rip), %rax
movq %rax, %rsi
leaq .LC2(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L15:
movq -24(%rbp), %rax
subq $12, %rax
movq %rax, -16(%rbp)
movq -32(%rbp), %rax
subq $12, %rax
movq %rax, -8(%rbp)
movq -16(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
cmpl $5, %eax
jne .L16
movq -8(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
cmpl $5, %eax
jne .L16
movq -24(%rbp), %rax
subq $12, %rax
movl 16(%rax), %edx
movq -32(%rbp), %rax
subq $12, %rax
movl 16(%rax), %eax
subl %eax, %edx
leal (%rdx,%rdx), %eax
orl $1, %eax
jmp .L17
.L16:
movq -8(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
movl %eax, %edx
movq -16(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
movl %eax, %esi
leaq .LC4(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
movl $0, %eax
.L17:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE10:
.size LcompareTags, .-LcompareTags
.section .rodata
.LC5:
.string "runtime.c"
.LC6:
.string "__gc_stack_top != 0"
.align 8
.LC7:
.string "__builtin_frame_address(0) <= (void *)__gc_stack_top"
.LC8:
.string "cons"
.text
.globl Ls__Infix_58
.type Ls__Infix_58, @function
Ls__Infix_58:
.LFB11:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movq %rsi, -32(%rbp)
movb $0, -9(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -9(%rbp)
cmpb $0, -9(%rbp)
je .L19
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L19:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L20
leaq __PRETTY_FUNCTION__.15(%rip), %rax
movq %rax, %rcx
movl $94, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L20:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L21
leaq __PRETTY_FUNCTION__.15(%rip), %rax
movq %rax, %rcx
movl $94, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L21:
leaq -24(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
leaq -32(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
leaq .LC8(%rip), %rax
movq %rax, %rdi
call LtagHash
movl %eax, %ecx
movq -32(%rbp), %rdx
movq -24(%rbp), %rax
movq %rax, %rsi
movl $7, %edi
movl $0, %eax
call Bsexp
movq %rax, -8(%rbp)
leaq -32(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
leaq -24(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L22
leaq __PRETTY_FUNCTION__.15(%rip), %rax
movq %rax, %rcx
movl $102, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L22:
cmpb $0, -9(%rbp)
je .L23
movq $0, __gc_stack_top(%rip)
.L23:
movq -8(%rbp), %rax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE11:
.size Ls__Infix_58, .-Ls__Infix_58
.section .rodata
.LC9:
.string "captured !!:1"
.LC10:
.string "unboxed value expected in %s\n"
.LC11:
.string "captured !!:2"
.text
.globl Ls__Infix_3333
.type Ls__Infix_3333, @function
Ls__Infix_3333:
.LFB12:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L26
leaq .LC9(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L26:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L27
leaq .LC11(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L27:
movq -8(%rbp), %rax
sarq %rax
testq %rax, %rax
jne .L28
movq -16(%rbp), %rax
sarq %rax
testq %rax, %rax
je .L29
.L28:
movl $1, %eax
jmp .L30
.L29:
movl $0, %eax
.L30:
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE12:
.size Ls__Infix_3333, .-Ls__Infix_3333
.section .rodata
.LC12:
.string "captured &&:1"
.LC13:
.string "captured &&:2"
.text
.globl Ls__Infix_3838
.type Ls__Infix_3838, @function
Ls__Infix_3838:
.LFB13:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L33
leaq .LC12(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L33:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L34
leaq .LC13(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L34:
movq -8(%rbp), %rax
sarq %rax
testq %rax, %rax
je .L35
movq -16(%rbp), %rax
sarq %rax
testq %rax, %rax
je .L35
movl $1, %eax
jmp .L36
.L35:
movl $0, %eax
.L36:
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE13:
.size Ls__Infix_3838, .-Ls__Infix_3838
.globl Ls__Infix_6161
.type Ls__Infix_6161, @function
Ls__Infix_6161:
.LFB14:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
cmpq -16(%rbp), %rax
jne .L39
movl $3, %eax
jmp .L41
.L39:
movl $1, %eax
.L41:
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE14:
.size Ls__Infix_6161, .-Ls__Infix_6161
.section .rodata
.LC14:
.string "captured !=:1"
.LC15:
.string "captured !=:2"
.text
.globl Ls__Infix_3361
.type Ls__Infix_3361, @function
Ls__Infix_3361:
.LFB15:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L43
leaq .LC14(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L43:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L44
leaq .LC15(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L44:
movq -8(%rbp), %rax
sarq %rax
movq %rax, %rdx
movq -16(%rbp), %rax
sarq %rax
cmpq %rax, %rdx
je .L45
movl $3, %eax
jmp .L47
.L45:
movl $1, %eax
.L47:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE15:
.size Ls__Infix_3361, .-Ls__Infix_3361
.section .rodata
.LC16:
.string "captured <=:1"
.LC17:
.string "captured <=:2"
.text
.globl Ls__Infix_6061
.type Ls__Infix_6061, @function
Ls__Infix_6061:
.LFB16:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L49
leaq .LC16(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L49:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L50
leaq .LC17(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L50:
movq -8(%rbp), %rax
sarq %rax
movq %rax, %rdx
movq -16(%rbp), %rax
sarq %rax
cmpq %rax, %rdx
jg .L51
movl $3, %eax
jmp .L53
.L51:
movl $1, %eax
.L53:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE16:
.size Ls__Infix_6061, .-Ls__Infix_6061
.section .rodata
.LC18:
.string "captured <:1"
.LC19:
.string "captured <:2"
.text
.globl Ls__Infix_60
.type Ls__Infix_60, @function
Ls__Infix_60:
.LFB17:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L55
leaq .LC18(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L55:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L56
leaq .LC19(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L56:
movq -8(%rbp), %rax
sarq %rax
movq %rax, %rdx
movq -16(%rbp), %rax
sarq %rax
cmpq %rax, %rdx
jge .L57
movl $3, %eax
jmp .L59
.L57:
movl $1, %eax
.L59:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE17:
.size Ls__Infix_60, .-Ls__Infix_60
.section .rodata
.LC20:
.string "captured >=:1"
.LC21:
.string "captured >=:2"
.text
.globl Ls__Infix_6261
.type Ls__Infix_6261, @function
Ls__Infix_6261:
.LFB18:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L61
leaq .LC20(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L61:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L62
leaq .LC21(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L62:
movq -8(%rbp), %rax
sarq %rax
movq %rax, %rdx
movq -16(%rbp), %rax
sarq %rax
cmpq %rax, %rdx
jl .L63
movl $3, %eax
jmp .L65
.L63:
movl $1, %eax
.L65:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE18:
.size Ls__Infix_6261, .-Ls__Infix_6261
.section .rodata
.LC22:
.string "captured >:1"
.LC23:
.string "captured >:2"
.text
.globl Ls__Infix_62
.type Ls__Infix_62, @function
Ls__Infix_62:
.LFB19:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L67
leaq .LC22(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L67:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L68
leaq .LC23(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L68:
movq -8(%rbp), %rax
sarq %rax
movq %rax, %rdx
movq -16(%rbp), %rax
sarq %rax
cmpq %rax, %rdx
jle .L69
movl $3, %eax
jmp .L71
.L69:
movl $1, %eax
.L71:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE19:
.size Ls__Infix_62, .-Ls__Infix_62
.section .rodata
.LC24:
.string "captured +:1"
.LC25:
.string "captured +:2"
.text
.globl Ls__Infix_43
.type Ls__Infix_43, @function
Ls__Infix_43:
.LFB20:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L73
leaq .LC24(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L73:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L74
leaq .LC25(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L74:
movq -8(%rbp), %rax
sarq %rax
movq %rax, %rdx
movq -16(%rbp), %rax
sarq %rax
addq %rdx, %rax
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE20:
.size Ls__Infix_43, .-Ls__Infix_43
.section .rodata
.LC26:
.string "captured -:2"
.LC27:
.string "captured -:1"
.text
.globl Ls__Infix_45
.type Ls__Infix_45, @function
Ls__Infix_45:
.LFB21:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L77
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L78
leaq .LC26(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L78:
movq -8(%rbp), %rax
sarq %rax
movq %rax, %rdx
movq -16(%rbp), %rax
sarq %rax
subq %rax, %rdx
movl %edx, %eax
addl %eax, %eax
orl $1, %eax
jmp .L79
.L77:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L80
leaq .LC27(%rip), %rax
movq %rax, %rsi
leaq .LC2(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L80:
movq -8(%rbp), %rax
subq -16(%rbp), %rax
addl %eax, %eax
orl $1, %eax
.L79:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE21:
.size Ls__Infix_45, .-Ls__Infix_45
.section .rodata
.LC28:
.string "captured *:1"
.LC29:
.string "captured *:2"
.text
.globl Ls__Infix_42
.type Ls__Infix_42, @function
Ls__Infix_42:
.LFB22:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L82
leaq .LC28(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L82:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L83
leaq .LC29(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L83:
movq -8(%rbp), %rax
sarq %rax
movl %eax, %edx
movq -16(%rbp), %rax
sarq %rax
imull %edx, %eax
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE22:
.size Ls__Infix_42, .-Ls__Infix_42
.section .rodata
.LC30:
.string "captured /:1"
.LC31:
.string "captured /:2"
.text
.globl Ls__Infix_47
.type Ls__Infix_47, @function
Ls__Infix_47:
.LFB23:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L86
leaq .LC30(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L86:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L87
leaq .LC31(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L87:
movq -8(%rbp), %rax
sarq %rax
movq -16(%rbp), %rdx
movq %rdx, %rcx
sarq %rcx
cqto
idivq %rcx
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE23:
.size Ls__Infix_47, .-Ls__Infix_47
.section .rodata
.LC32:
.string "captured %:1"
.LC33:
.string "captured %:2"
.text
.globl Ls__Infix_37
.type Ls__Infix_37, @function
Ls__Infix_37:
.LFB24:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L90
leaq .LC32(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L90:
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L91
leaq .LC33(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L91:
movq -8(%rbp), %rax
sarq %rax
movq -16(%rbp), %rdx
sarq %rdx
movq %rdx, %rcx
cqto
idivq %rcx
movq %rdx, %rcx
movq %rcx, %rax
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE24:
.size Ls__Infix_37, .-Ls__Infix_37
.section .rodata
.LC34:
.string ".length"
.text
.globl Llength
.type Llength, @function
Llength:
.LFB25:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L94
leaq .LC34(%rip), %rax
movq %rax, %rsi
leaq .LC2(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L94:
movq -8(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
shrl $3, %eax
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE25:
.size Llength, .-Llength
.section .rodata
.align 8
.LC35:
.string "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'"
.section .data.rel.local,"aw"
.align 8
.type chars, @object
.size chars, 8
chars:
.quad .LC35
.section .rodata
.align 8
.LC36:
.string "tagHash: character not found: %c\n"
.LC37:
.string "%s <-> %s\n"
.text
.globl LtagHash
.type LtagHash, @function
LtagHash:
.LFB26:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movq %rdi, -40(%rbp)
movl $0, -28(%rbp)
movl $0, -24(%rbp)
movq -40(%rbp), %rax
movq %rax, -16(%rbp)
jmp .L97
.L104:
movq chars(%rip), %rax
movq %rax, -8(%rbp)
movl $0, -20(%rbp)
jmp .L98
.L100:
addq $1, -8(%rbp)
addl $1, -20(%rbp)
.L98:
movq -8(%rbp), %rax
movzbl (%rax), %eax
testb %al, %al
je .L99
movq -8(%rbp), %rax
movzbl (%rax), %edx
movq -16(%rbp), %rax
movzbl (%rax), %eax
cmpb %al, %dl
jne .L100
.L99:
movq -8(%rbp), %rax
movzbl (%rax), %eax
testb %al, %al
je .L101
movl -28(%rbp), %eax
sall $6, %eax
orl -20(%rbp), %eax
movl %eax, -28(%rbp)
jmp .L102
.L101:
movq -16(%rbp), %rax
movzbl (%rax), %eax
movsbl %al, %eax
movl %eax, %esi
leaq .LC36(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L102:
addq $1, -16(%rbp)
.L97:
movq -16(%rbp), %rax
movzbl (%rax), %eax
testb %al, %al
je .L103
movl -24(%rbp), %eax
leal 1(%rax), %edx
movl %edx, -24(%rbp)
cmpl $4, %eax
jle .L104
.L103:
movl -28(%rbp), %eax
movl %eax, %edi
call de_hash
movq %rax, %rcx
movq -40(%rbp), %rax
movl $5, %edx
movq %rcx, %rsi
movq %rax, %rdi
call strncmp@PLT
testl %eax, %eax
je .L105
movl -28(%rbp), %eax
movl %eax, %edi
call de_hash
movq %rax, %rdx
movq -40(%rbp), %rax
movq %rax, %rsi
leaq .LC37(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L105:
movl -28(%rbp), %eax
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE26:
.size LtagHash, .-LtagHash
.globl de_hash
.type de_hash, @function
de_hash:
.LFB27:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl %edi, -20(%rbp)
movq $1, -8(%rbp)
leaq 5+buf.14(%rip), %rax
movq %rax, -8(%rbp)
movq -8(%rbp), %rax
leaq -1(%rax), %rdx
movq %rdx, -8(%rbp)
movb $0, (%rax)
jmp .L108
.L109:
movq chars(%rip), %rax
movl -20(%rbp), %edx
movslq %edx, %rdx
andl $63, %edx
leaq (%rax,%rdx), %rcx
movq -8(%rbp), %rax
leaq -1(%rax), %rdx
movq %rdx, -8(%rbp)
movzbl (%rcx), %edx
movb %dl, (%rax)
sarl $6, -20(%rbp)
.L108:
cmpl $0, -20(%rbp)
jne .L109
addq $1, -8(%rbp)
movq -8(%rbp), %rax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE27:
.size de_hash, .-de_hash
.local stringBuf
.comm stringBuf,16,16
.type createStringBuf, @function
createStringBuf:
.LFB28:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl $128, %edi
call malloc@PLT
movq %rax, stringBuf(%rip)
movq stringBuf(%rip), %rax
movl $128, %edx
movl $0, %esi
movq %rax, %rdi
call memset@PLT
movl $0, 8+stringBuf(%rip)
movl $128, 12+stringBuf(%rip)
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE28:
.size createStringBuf, .-createStringBuf
.type deleteStringBuf, @function
deleteStringBuf:
.LFB29:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq stringBuf(%rip), %rax
movq %rax, %rdi
call free@PLT
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE29:
.size deleteStringBuf, .-deleteStringBuf
.type extendStringBuf, @function
extendStringBuf:
.LFB30:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movl 12+stringBuf(%rip), %eax
addl %eax, %eax
movl %eax, -4(%rbp)
movl -4(%rbp), %eax
movslq %eax, %rdx
movq stringBuf(%rip), %rax
movq %rdx, %rsi
movq %rax, %rdi
call realloc@PLT
movq %rax, stringBuf(%rip)
movl -4(%rbp), %eax
movl %eax, 12+stringBuf(%rip)
nop
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE30:
.size extendStringBuf, .-extendStringBuf
.type vprintStringBuf, @function
vprintStringBuf:
.LFB31:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $64, %rsp
movq %rdi, -56(%rbp)
movq %rsi, -64(%rbp)
movq %fs:40, %rax
movq %rax, -8(%rbp)
xorl %eax, %eax
movl $0, -48(%rbp)
movl $0, -44(%rbp)
movq $1, -40(%rbp)
.L115:
leaq -32(%rbp), %rcx
movq -64(%rbp), %rsi
movq (%rsi), %rax
movq 8(%rsi), %rdx
movq %rax, (%rcx)
movq %rdx, 8(%rcx)
movq 16(%rsi), %rax
movq %rax, 16(%rcx)
movq stringBuf(%rip), %rdx
movl 8+stringBuf(%rip), %eax
cltq
addq %rdx, %rax
movq %rax, -40(%rbp)
movl 12+stringBuf(%rip), %edx
movl 8+stringBuf(%rip), %eax
subl %eax, %edx
movl %edx, -44(%rbp)
movl -44(%rbp), %eax
movslq %eax, %rsi
leaq -32(%rbp), %rcx
movq -56(%rbp), %rdx
movq -40(%rbp), %rax
movq %rax, %rdi
call vsnprintf@PLT
movl %eax, -48(%rbp)
movl -48(%rbp), %eax
cmpl -44(%rbp), %eax
jl .L116
movl $0, %eax
call extendStringBuf
jmp .L115
.L116:
movl 8+stringBuf(%rip), %edx
movl -48(%rbp), %eax
addl %edx, %eax
movl %eax, 8+stringBuf(%rip)
nop
movq -8(%rbp), %rax
subq %fs:40, %rax
je .L117
call __stack_chk_fail@PLT
.L117:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE31:
.size vprintStringBuf, .-vprintStringBuf
.type printStringBuf, @function
printStringBuf:
.LFB32:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $224, %rsp
movq %rdi, -216(%rbp)
movq %rsi, -168(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L119
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L119:
movq %fs:40, %rax
movq %rax, -184(%rbp)
xorl %eax, %eax
movl $8, -208(%rbp)
movl $48, -204(%rbp)
leaq 16(%rbp), %rax
movq %rax, -200(%rbp)
leaq -176(%rbp), %rax
movq %rax, -192(%rbp)
leaq -208(%rbp), %rdx
movq -216(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call vprintStringBuf
nop
movq -184(%rbp), %rax
subq %fs:40, %rax
je .L120
call __stack_chk_fail@PLT
.L120:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE32:
.size printStringBuf, .-printStringBuf
.section .rodata
.LC38:
.string "%d"
.LC39:
.string "0x%x"
.LC40:
.string "\"%s\""
.LC41:
.string "<closure "
.LC42:
.string ", "
.LC43:
.string ">"
.LC44:
.string "["
.LC45:
.string "]"
.LC46:
.string "{"
.LC47:
.string "}"
.LC48:
.string "%s"
.LC49:
.string " ("
.LC50:
.string ")"
.align 8
.LC51:
.string "*** invalid data_header: 0x%x ***"
.text
.type printValue, @function
printValue:
.LFB33:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $64, %rsp
movq %rdi, -56(%rbp)
movq $1, -32(%rbp)
movl $1, -48(%rbp)
movq -56(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L122
movq -56(%rbp), %rax
sarq %rax
movq %rax, %rsi
leaq .LC38(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L121
.L122:
movq -56(%rbp), %rax
movq %rax, %rdi
call is_valid_heap_pointer@PLT
xorl $1, %eax
testb %al, %al
je .L124
movq -56(%rbp), %rax
movq %rax, %rsi
leaq .LC39(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L121
.L124:
movq -56(%rbp), %rax
subq $12, %rax
movq %rax, -32(%rbp)
movq -32(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
cmpl $7, %eax
je .L125
cmpl $7, %eax
jg .L126
cmpl $5, %eax
je .L127
cmpl $5, %eax
jg .L126
cmpl $1, %eax
je .L128
cmpl $3, %eax
je .L129
jmp .L126
.L128:
movq -32(%rbp), %rax
addq $16, %rax
movq %rax, %rsi
leaq .LC40(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L121
.L125:
leaq .LC41(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
movl $0, -48(%rbp)
jmp .L130
.L134:
cmpl $0, -48(%rbp)
je .L131
movq -32(%rbp), %rax
leaq 16(%rax), %rdx
movl -48(%rbp), %eax
cltq
salq $2, %rax
addq %rdx, %rax
movl (%rax), %eax
cltq
movq %rax, %rdi
call printValue
jmp .L132
.L131:
movq -32(%rbp), %rax
leaq 16(%rax), %rdx
movl -48(%rbp), %eax
cltq
salq $2, %rax
addq %rdx, %rax
movl (%rax), %eax
cltq
movq %rax, %rsi
leaq .LC39(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
.L132:
movq -32(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
leal -1(%rax), %edx
movl -48(%rbp), %eax
cmpl %eax, %edx
je .L133
leaq .LC42(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
.L133:
addl $1, -48(%rbp)
.L130:
movq -32(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl -48(%rbp), %edx
cmpl %eax, %edx
jb .L134
leaq .LC43(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L121
.L129:
leaq .LC44(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
movl $0, -48(%rbp)
jmp .L135
.L137:
movq -32(%rbp), %rax
leaq 16(%rax), %rdx
movl -48(%rbp), %eax
cltq
salq $2, %rax
addq %rdx, %rax
movl (%rax), %eax
cltq
movq %rax, %rdi
call printValue
movq -32(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
leal -1(%rax), %edx
movl -48(%rbp), %eax
cmpl %eax, %edx
je .L136
leaq .LC42(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
.L136:
addl $1, -48(%rbp)
.L135:
movq -32(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl -48(%rbp), %edx
cmpl %eax, %edx
jb .L137
leaq .LC45(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L121
.L127:
movq -32(%rbp), %rax
movq %rax, -24(%rbp)
movq -24(%rbp), %rax
movl 16(%rax), %eax
movl %eax, %edi
call de_hash
movq %rax, -16(%rbp)
movq -16(%rbp), %rax
leaq .LC8(%rip), %rdx
movq %rdx, %rsi
movq %rax, %rdi
call strcmp@PLT
testl %eax, %eax
jne .L138
movq -24(%rbp), %rax
movq %rax, -40(%rbp)
leaq .LC46(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L139
.L142:
movq -40(%rbp), %rax
movl 20(%rax), %eax
cltq
movq %rax, %rdi
call printValue
movq -40(%rbp), %rax
movl 24(%rax), %eax
movl %eax, -44(%rbp)
movl -44(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
jne .L147
leaq .LC42(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
movl -44(%rbp), %eax
cltq
subq $12, %rax
movq %rax, -40(%rbp)
.L139:
movq -40(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
testl %eax, %eax
jne .L142
jmp .L141
.L147:
nop
.L141:
leaq .LC47(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L148
.L138:
movq -16(%rbp), %rax
movq %rax, %rsi
leaq .LC48(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
movq -32(%rbp), %rax
movq %rax, -8(%rbp)
movq -32(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
testl %eax, %eax
je .L148
leaq .LC49(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
movl $0, -48(%rbp)
jmp .L144
.L146:
movq -8(%rbp), %rax
leaq 20(%rax), %rdx
movl -48(%rbp), %eax
cltq
salq $2, %rax
addq %rdx, %rax
movl (%rax), %eax
cltq
movq %rax, %rdi
call printValue
movq -8(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
leal -1(%rax), %edx
movl -48(%rbp), %eax
cmpl %eax, %edx
je .L145
leaq .LC42(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
.L145:
addl $1, -48(%rbp)
.L144:
movq -8(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl -48(%rbp), %edx
cmpl %eax, %edx
jb .L146
leaq .LC50(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L148
.L126:
movq -32(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
movl %eax, %esi
leaq .LC51(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L121
.L148:
nop
.L121:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE33:
.size printValue, .-printValue
.section .rodata
.align 8
.LC52:
.string "*** non-list data_header: %s ***"
.text
.type stringcat, @function
stringcat:
.LFB34:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movq %rdi, -40(%rbp)
movq -40(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L161
movq -40(%rbp), %rax
subq $12, %rax
movq %rax, -16(%rbp)
movq -16(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L151
cmpl $5, %eax
je .L152
jmp .L160
.L151:
movq -16(%rbp), %rax
addq $16, %rax
movq %rax, %rsi
leaq .LC48(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L150
.L152:
movq -40(%rbp), %rax
subq $12, %rax
movl 16(%rax), %eax
movl %eax, %edi
call de_hash
movq %rax, -8(%rbp)
movq -8(%rbp), %rax
leaq .LC8(%rip), %rdx
movq %rdx, %rsi
movq %rax, %rdi
call strcmp@PLT
testl %eax, %eax
jne .L154
movq -16(%rbp), %rax
movq %rax, -24(%rbp)
jmp .L155
.L158:
movq -24(%rbp), %rax
movl 20(%rax), %eax
cltq
movq %rax, %rdi
call stringcat
movq -24(%rbp), %rax
movl 24(%rax), %eax
movl %eax, -28(%rbp)
movl -28(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
jne .L162
movl -28(%rbp), %eax
cltq
subq $12, %rax
movq %rax, -24(%rbp)
.L155:
movq -24(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
testl %eax, %eax
jne .L158
jmp .L150
.L154:
movq -8(%rbp), %rax
movq %rax, %rsi
leaq .LC52(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L150
.L162:
nop
jmp .L150
.L160:
movq -16(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
movl %eax, %esi
leaq .LC51(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printStringBuf
jmp .L161
.L150:
.L161:
nop
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE34:
.size stringcat, .-stringcat
.section .rodata
.LC53:
.string "Luppercase:1"
.text
.globl Luppercase
.type Luppercase, @function
Luppercase:
.LFB35:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L164
leaq .LC53(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L164:
movq -8(%rbp), %rax
sarq %rax
movl %eax, %edi
call toupper@PLT
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE35:
.size Luppercase, .-Luppercase
.section .rodata
.LC54:
.string "Llowercase:1"
.text
.globl Llowercase
.type Llowercase, @function
Llowercase:
.LFB36:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L167
leaq .LC54(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L167:
movq -8(%rbp), %rax
sarq %rax
movl %eax, %edi
call tolower@PLT
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE36:
.size Llowercase, .-Llowercase
.section .rodata
.LC55:
.string "matchSubString:1"
.LC56:
.string "string value expected in %s\n"
.LC57:
.string "matchSubString:2"
.LC58:
.string "matchSubString:3"
.text
.globl LmatchSubString
.type LmatchSubString, @function
LmatchSubString:
.LFB37:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $64, %rsp
movq %rdi, -40(%rbp)
movq %rsi, -48(%rbp)
movl %edx, -52(%rbp)
movq -48(%rbp), %rax
subq $12, %rax
movq %rax, -16(%rbp)
movq -40(%rbp), %rax
subq $12, %rax
movq %rax, -8(%rbp)
movq -40(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L170
movq -40(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L170
leaq .LC55(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L170:
movq -48(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L171
movq -48(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L171
leaq .LC57(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L171:
movl -52(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
jne .L172
leaq .LC58(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L172:
movq -16(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, -20(%rbp)
movl -20(%rbp), %eax
movslq %eax, %rdx
movl -52(%rbp), %eax
sarl %eax
cltq
addq %rax, %rdx
movq -8(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, %eax
cmpq %rax, %rdx
jle .L173
movl $1, %eax
jmp .L174
.L173:
movl -20(%rbp), %eax
movslq %eax, %rdx
movl -52(%rbp), %eax
sarl %eax
movslq %eax, %rcx
movq -40(%rbp), %rax
addq %rax, %rcx
movq -48(%rbp), %rax
movq %rax, %rsi
movq %rcx, %rdi
call strncmp@PLT
testl %eax, %eax
jne .L175
movl $3, %eax
jmp .L174
.L175:
movl $1, %eax
.L174:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE37:
.size LmatchSubString, .-LmatchSubString
.section .rodata
.LC59:
.string "substring:1"
.LC60:
.string "substring:2"
.LC61:
.string "substring:3"
.align 8
.LC62:
.string "substring: index out of bounds (position=%d, length=%d, subject length=%d)"
.text
.globl Lsubstring
.type Lsubstring, @function
Lsubstring:
.LFB38:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movq %rdi, -40(%rbp)
movl %esi, -44(%rbp)
movl %edx, -48(%rbp)
movq -40(%rbp), %rax
subq $12, %rax
movq %rax, -16(%rbp)
movl -44(%rbp), %eax
sarl %eax
movl %eax, -24(%rbp)
movl -48(%rbp), %eax
sarl %eax
movl %eax, -20(%rbp)
movq -40(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L178
movq -40(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L178
leaq .LC59(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L178:
movl -44(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
jne .L179
leaq .LC60(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L179:
movl -48(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
jne .L180
leaq .LC61(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L180:
movl -24(%rbp), %edx
movl -20(%rbp), %eax
addl %edx, %eax
movl %eax, %edx
movq -16(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
cmpl %edx, %eax
jb .L181
movb $0, -25(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -25(%rbp)
cmpb $0, -25(%rbp)
je .L182
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L182:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L183
leaq __PRETTY_FUNCTION__.13(%rip), %rax
movq %rax, %rcx
movl $453, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L183:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L184
leaq __PRETTY_FUNCTION__.13(%rip), %rax
movq %rax, %rcx
movl $453, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L184:
leaq -40(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
movl -20(%rbp), %eax
movl %eax, %edi
call alloc_string@PLT
movq %rax, -8(%rbp)
leaq -40(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
movl -20(%rbp), %eax
cltq
movq -40(%rbp), %rcx
movl -24(%rbp), %edx
movslq %edx, %rdx
leaq (%rcx,%rdx), %rsi
movq -8(%rbp), %rdx
leaq 16(%rdx), %rcx
movq %rax, %rdx
movq %rcx, %rdi
call strncpy@PLT
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L185
leaq __PRETTY_FUNCTION__.13(%rip), %rax
movq %rax, %rcx
movl $461, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L185:
cmpb $0, -25(%rbp)
je .L186
movq $0, __gc_stack_top(%rip)
.L186:
movq -8(%rbp), %rax
addq $16, %rax
jmp .L177
.L181:
movq -16(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, %ecx
movl -20(%rbp), %edx
movl -24(%rbp), %eax
movl %eax, %esi
leaq .LC62(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L177:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE38:
.size Lsubstring, .-Lsubstring
.section .rodata
.LC63:
.string "%"
.text
.globl Lregexp
.type Lregexp, @function
Lregexp:
.LFB39:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movl $64, %edi
call malloc@PLT
movq %rax, -8(%rbp)
movq -8(%rbp), %rax
movl $64, %edx
movl $0, %esi
movq %rax, %rdi
call memset@PLT
movq -24(%rbp), %rax
movq %rax, %rdi
call strlen@PLT
movq %rax, %rcx
movq -8(%rbp), %rdx
movq -24(%rbp), %rax
movq %rcx, %rsi
movq %rax, %rdi
call re_compile_pattern@PLT
movl %eax, -12(%rbp)
cmpl $0, -12(%rbp)
je .L189
movl -12(%rbp), %eax
movl %eax, %edi
call strerror@PLT
movq %rax, %rsi
leaq .LC63(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L189:
movq -8(%rbp), %rax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE39:
.size Lregexp, .-Lregexp
.section .rodata
.LC64:
.string "regexpMatch:1"
.LC65:
.string "regexpMatch:2"
.LC66:
.string "regexpMatch:3"
.text
.globl LregexpMatch
.type LregexpMatch, @function
LregexpMatch:
.LFB40:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movq %rdi, -24(%rbp)
movq %rsi, -32(%rbp)
movl %edx, -36(%rbp)
movq -24(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L192
leaq .LC64(%rip), %rax
movq %rax, %rsi
leaq .LC2(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L192:
movq -32(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L193
movq -32(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L193
leaq .LC65(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L193:
movl -36(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
jne .L194
leaq .LC66(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L194:
movl -36(%rbp), %eax
sarl %eax
movl %eax, %edx
movq -32(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, %edi
movq -32(%rbp), %rsi
movq -24(%rbp), %rax
movl $0, %r8d
movl %edx, %ecx
movl %edi, %edx
movq %rax, %rdi
call re_match@PLT
movl %eax, -4(%rbp)
cmpl $0, -4(%rbp)
je .L195
movl -4(%rbp), %eax
addl %eax, %eax
orl $1, %eax
jmp .L196
.L195:
movl -4(%rbp), %eax
addl %eax, %eax
orl $1, %eax
.L196:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE40:
.size LregexpMatch, .-LregexpMatch
.section .rodata
.align 8
.LC67:
.string "invalid data_header %d in clone *****\n"
.text
.globl Lclone
.type Lclone, @function
Lclone:
.LFB41:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $64, %rsp
movq %rdi, -56(%rbp)
movq -56(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L198
movq -56(%rbp), %rax
jmp .L199
.L198:
movb $0, -33(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -33(%rbp)
cmpb $0, -33(%rbp)
je .L200
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L200:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L201
leaq __PRETTY_FUNCTION__.12(%rip), %rax
movq %rax, %rcx
movl $512, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L201:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L202
leaq __PRETTY_FUNCTION__.12(%rip), %rax
movq %rax, %rcx
movl $512, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L202:
movq -56(%rbp), %rax
subq $12, %rax
movq %rax, -16(%rbp)
movq -16(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
movl %eax, -32(%rbp)
movq -16(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, -28(%rbp)
leaq -56(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
cmpl $7, -32(%rbp)
je .L203
cmpl $7, -32(%rbp)
jg .L204
cmpl $5, -32(%rbp)
je .L205
cmpl $5, -32(%rbp)
jg .L204
cmpl $1, -32(%rbp)
je .L206
cmpl $3, -32(%rbp)
je .L207
jmp .L204
.L206:
movq -56(%rbp), %rax
subq $12, %rax
addq $16, %rax
movq %rax, %rdi
call Bstring
movq %rax, -24(%rbp)
jmp .L208
.L207:
movl -28(%rbp), %eax
movl %eax, %edi
call alloc_array@PLT
movq %rax, -8(%rbp)
movl -28(%rbp), %eax
cltq
movq %rax, %rdi
call array_size@PLT
movq %rax, %rdx
movq -56(%rbp), %rax
leaq -12(%rax), %rcx
movq -8(%rbp), %rax
movq %rcx, %rsi
movq %rax, %rdi
call memcpy@PLT
movq -8(%rbp), %rax
addq $16, %rax
movq %rax, -24(%rbp)
jmp .L208
.L203:
movl -28(%rbp), %eax
movl %eax, %edi
call alloc_closure@PLT
movq %rax, -8(%rbp)
movl -28(%rbp), %eax
cltq
movq %rax, %rdi
call closure_size@PLT
movq %rax, %rdx
movq -56(%rbp), %rax
leaq -12(%rax), %rcx
movq -8(%rbp), %rax
movq %rcx, %rsi
movq %rax, %rdi
call memcpy@PLT
movq -8(%rbp), %rax
addq $16, %rax
movq %rax, -24(%rbp)
jmp .L208
.L205:
movl -28(%rbp), %eax
movl %eax, %edi
call alloc_sexp@PLT
movq %rax, -8(%rbp)
movl -28(%rbp), %eax
cltq
movq %rax, %rdi
call sexp_size@PLT
movq %rax, %rdx
movq -56(%rbp), %rax
leaq -12(%rax), %rcx
movq -8(%rbp), %rax
movq %rcx, %rsi
movq %rax, %rdi
call memcpy@PLT
movq -8(%rbp), %rax
addq $16, %rax
movq %rax, -24(%rbp)
jmp .L208
.L204:
movl -32(%rbp), %eax
movl %eax, %esi
leaq .LC67(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L208:
leaq -56(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L209
leaq __PRETTY_FUNCTION__.12(%rip), %rax
movq %rax, %rcx
movl $542, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L209:
cmpb $0, -33(%rbp)
je .L210
movq $0, __gc_stack_top(%rip)
.L210:
movq -24(%rbp), %rax
.L199:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE41:
.size Lclone, .-Lclone
.section .rodata
.align 8
.LC68:
.string "invalid data_header %d in hash *****\n"
.text
.globl inner_hash
.type inner_hash, @function
inner_hash:
.LFB42:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $64, %rsp
movl %edi, -52(%rbp)
movl %esi, -56(%rbp)
movq %rdx, -64(%rbp)
cmpl $3, -52(%rbp)
jle .L212
movl -56(%rbp), %eax
jmp .L213
.L212:
movq -64(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L214
movq -64(%rbp), %rax
sarq %rax
movl %eax, %edx
movl -56(%rbp), %eax
addl %edx, %eax
roll $16, %eax
jmp .L213
.L214:
movq -64(%rbp), %rax
movq %rax, %rdi
call is_valid_heap_pointer@PLT
testb %al, %al
je .L215
movq -64(%rbp), %rax
subq $12, %rax
movq %rax, -8(%rbp)
movq -8(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
movl %eax, -28(%rbp)
movq -8(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, -36(%rbp)
movl -28(%rbp), %edx
movl -56(%rbp), %eax
addl %edx, %eax
roll $16, %eax
movl %eax, -56(%rbp)
movl -36(%rbp), %edx
movl -56(%rbp), %eax
addl %edx, %eax
roll $16, %eax
movl %eax, -56(%rbp)
cmpl $7, -28(%rbp)
je .L216
cmpl $7, -28(%rbp)
jg .L217
cmpl $5, -28(%rbp)
je .L218
cmpl $5, -28(%rbp)
jg .L217
cmpl $1, -28(%rbp)
je .L219
cmpl $3, -28(%rbp)
je .L220
jmp .L217
.L219:
movq -8(%rbp), %rax
addq $16, %rax
movq %rax, -16(%rbp)
jmp .L221
.L222:
movq -16(%rbp), %rax
leaq 1(%rax), %rdx
movq %rdx, -16(%rbp)
movzbl (%rax), %eax
movsbl %al, %eax
movl %eax, -20(%rbp)
movl -20(%rbp), %edx
movl -56(%rbp), %eax
addl %edx, %eax
roll $16, %eax
movl %eax, -56(%rbp)
.L221:
movq -16(%rbp), %rax
movzbl (%rax), %eax
testb %al, %al
jne .L222
movl -56(%rbp), %eax
jmp .L213
.L216:
movq -8(%rbp), %rax
addq $16, %rax
movq (%rax), %rax
movl %eax, %edx
movl -56(%rbp), %eax
addl %edx, %eax
roll $16, %eax
movl %eax, -56(%rbp)
movl $1, -32(%rbp)
jmp .L223
.L220:
movl $0, -32(%rbp)
jmp .L223
.L218:
movq -64(%rbp), %rax
subq $12, %rax
movl 16(%rax), %eax
movl %eax, -24(%rbp)
movl -24(%rbp), %edx
movl -56(%rbp), %eax
addl %edx, %eax
roll $16, %eax
movl %eax, -56(%rbp)
movl $1, -32(%rbp)
addl $1, -36(%rbp)
jmp .L223
.L217:
movl -28(%rbp), %eax
movl %eax, %esi
leaq .LC68(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L223:
jmp .L224
.L225:
movq -8(%rbp), %rax
leaq 16(%rax), %rdx
movl -32(%rbp), %eax
cltq
salq $3, %rax
addq %rdx, %rax
movq (%rax), %rdx
movl -52(%rbp), %eax
leal 1(%rax), %ecx
movl -56(%rbp), %eax
movl %eax, %esi
movl %ecx, %edi
call inner_hash
movl %eax, -56(%rbp)
addl $1, -32(%rbp)
.L224:
movl -32(%rbp), %eax
cmpl -36(%rbp), %eax
jl .L225
movl -56(%rbp), %eax
jmp .L213
.L215:
movq -64(%rbp), %rax
movl %eax, %edx
movl -56(%rbp), %eax
addl %edx, %eax
roll $16, %eax
.L213:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE42:
.size inner_hash, .-inner_hash
.globl LstringInt
.type LstringInt, @function
LstringInt:
.LFB43:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movq %fs:40, %rax
movq %rax, -8(%rbp)
xorl %eax, %eax
leaq -12(%rbp), %rdx
movq -24(%rbp), %rax
leaq .LC38(%rip), %rcx
movq %rcx, %rsi
movq %rax, %rdi
movl $0, %eax
call __isoc23_sscanf@PLT
movl -12(%rbp), %eax
cltq
addq %rax, %rax
orq $1, %rax
movq -8(%rbp), %rdx
subq %fs:40, %rdx
je .L228
call __stack_chk_fail@PLT
.L228:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE43:
.size LstringInt, .-LstringInt
.globl Lhash
.type Lhash, @function
Lhash:
.LFB44:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
movq %rax, %rdx
movl $0, %esi
movl $0, %edi
call inner_hash
addl %eax, %eax
andl $8388606, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE44:
.size Lhash, .-Lhash
.globl LflatCompare
.type LflatCompare, @function
LflatCompare:
.LFB45:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L232
movq -16(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L233
movq -8(%rbp), %rax
sarq %rax
movq %rax, %rdx
movq -16(%rbp), %rax
sarq %rax
subq %rax, %rdx
movl %edx, %eax
addl %eax, %eax
orl $1, %eax
jmp .L234
.L233:
movl $-1, %eax
jmp .L234
.L232:
movq -8(%rbp), %rax
subq -16(%rbp), %rax
addl %eax, %eax
orl $1, %eax
.L234:
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE45:
.size LflatCompare, .-LflatCompare
.section .rodata
.align 8
.LC69:
.string "invalid data_header %d in compare *****\n"
.text
.globl Lcompare
.type Lcompare, @function
Lcompare:
.LFB46:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $80, %rsp
movq %rdi, -72(%rbp)
movq %rsi, -80(%rbp)
movq -72(%rbp), %rax
cmpq -80(%rbp), %rax
jne .L236
movl $1, %eax
jmp .L237
.L236:
movq -72(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L238
movq -80(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L239
movq -72(%rbp), %rax
sarq %rax
movq %rax, %rdx
movq -80(%rbp), %rax
sarq %rax
subq %rax, %rdx
movl %edx, %eax
addl %eax, %eax
orl $1, %eax
jmp .L237
.L239:
movl $-1, %eax
jmp .L237
.L238:
movq -80(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L240
movl $3, %eax
jmp .L237
.L240:
movq -72(%rbp), %rax
movq %rax, %rdi
call is_valid_heap_pointer@PLT
testb %al, %al
je .L241
movq -80(%rbp), %rax
movq %rax, %rdi
call is_valid_heap_pointer@PLT
testb %al, %al
je .L242
movq -72(%rbp), %rax
subq $12, %rax
movq %rax, -16(%rbp)
movq -80(%rbp), %rax
subq $12, %rax
movq %rax, -8(%rbp)
movq -16(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
movl %eax, -44(%rbp)
movq -8(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
movl %eax, -40(%rbp)
movq -16(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, -36(%rbp)
movq -8(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, -32(%rbp)
movl $0, -48(%rbp)
movl -44(%rbp), %eax
cmpl -40(%rbp), %eax
je .L243
movl -44(%rbp), %eax
subl -40(%rbp), %eax
addl %eax, %eax
orl $1, %eax
jmp .L237
.L243:
cmpl $7, -44(%rbp)
je .L244
cmpl $7, -44(%rbp)
jg .L245
cmpl $5, -44(%rbp)
je .L246
cmpl $5, -44(%rbp)
jg .L245
cmpl $1, -44(%rbp)
je .L247
cmpl $3, -44(%rbp)
je .L248
jmp .L245
.L247:
movq -8(%rbp), %rax
leaq 16(%rax), %rdx
movq -16(%rbp), %rax
addq $16, %rax
movq %rdx, %rsi
movq %rax, %rdi
call strcmp@PLT
addl %eax, %eax
orl $1, %eax
jmp .L237
.L244:
movq -16(%rbp), %rax
addq $16, %rax
movq (%rax), %rdx
movq -8(%rbp), %rax
addq $16, %rax
movq (%rax), %rax
cmpq %rax, %rdx
je .L249
movq -16(%rbp), %rax
addq $16, %rax
movq (%rax), %rdx
movq -8(%rbp), %rax
addq $16, %rax
movq (%rax), %rax
subq %rax, %rdx
movl %edx, %eax
addl %eax, %eax
orl $1, %eax
jmp .L237
.L249:
movl -36(%rbp), %eax
cmpl -32(%rbp), %eax
je .L250
movl -36(%rbp), %eax
subl -32(%rbp), %eax
addl %eax, %eax
orl $1, %eax
jmp .L237
.L250:
movl $1, -52(%rbp)
jmp .L251
.L248:
movl -36(%rbp), %eax
cmpl -32(%rbp), %eax
je .L252
movl -36(%rbp), %eax
subl -32(%rbp), %eax
addl %eax, %eax
orl $1, %eax
jmp .L237
.L252:
movl $0, -52(%rbp)
jmp .L251
.L246:
movq -72(%rbp), %rax
subq $12, %rax
movl 16(%rax), %eax
movl %eax, -28(%rbp)
movq -80(%rbp), %rax
subq $12, %rax
movl 16(%rax), %eax
movl %eax, -24(%rbp)
movl -28(%rbp), %eax
cmpl -24(%rbp), %eax
je .L253
movl -28(%rbp), %eax
subl -24(%rbp), %eax
addl %eax, %eax
orl $1, %eax
jmp .L237
.L253:
movl -36(%rbp), %eax
cmpl -32(%rbp), %eax
je .L254
movl -36(%rbp), %eax
subl -32(%rbp), %eax
addl %eax, %eax
orl $1, %eax
jmp .L237
.L254:
movl $0, -52(%rbp)
movl $1, -48(%rbp)
jmp .L251
.L245:
movl -44(%rbp), %eax
movl %eax, %esi
leaq .LC69(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L251:
jmp .L255
.L257:
movq -8(%rbp), %rax
leaq 16(%rax), %rcx
movl -52(%rbp), %edx
movl -48(%rbp), %eax
addl %edx, %eax
cltq
salq $3, %rax
addq %rcx, %rax
movq (%rax), %rdx
movq -16(%rbp), %rax
leaq 16(%rax), %rsi
movl -52(%rbp), %ecx
movl -48(%rbp), %eax
addl %ecx, %eax
cltq
salq $3, %rax
addq %rsi, %rax
movq (%rax), %rax
movq %rdx, %rsi
movq %rax, %rdi
call Lcompare
movl %eax, -20(%rbp)
cmpl $1, -20(%rbp)
je .L256
movl -20(%rbp), %eax
jmp .L237
.L256:
addl $1, -52(%rbp)
.L255:
movl -52(%rbp), %eax
cmpl -36(%rbp), %eax
jl .L257
movl $1, %eax
jmp .L237
.L242:
movl $-1, %eax
jmp .L237
.L241:
movq -80(%rbp), %rax
movq %rax, %rdi
call is_valid_heap_pointer@PLT
testb %al, %al
je .L258
movl $3, %eax
jmp .L237
.L258:
movq -72(%rbp), %rax
subq -80(%rbp), %rax
addl %eax, %eax
orl $1, %eax
.L237:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE46:
.size Lcompare, .-Lcompare
.section .rodata
.LC70:
.string ".elem:1"
.LC71:
.string ".elem:2"
.text
.globl Belem
.type Belem, @function
Belem:
.LFB47:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movl %esi, -28(%rbp)
movq $1, -8(%rbp)
movq -24(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L260
movq -24(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L260
leaq .LC70(%rip), %rax
movq %rax, %rsi
leaq .LC2(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L260:
movl -28(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
jne .L261
leaq .LC71(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L261:
movq -24(%rbp), %rax
subq $12, %rax
movq %rax, -8(%rbp)
sarl -28(%rbp)
movq -8(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L262
cmpl $5, %eax
je .L263
jmp .L266
.L262:
movq -8(%rbp), %rdx
movl -28(%rbp), %eax
cltq
movzbl 16(%rdx,%rax), %eax
movsbq %al, %rax
addq %rax, %rax
orq $1, %rax
jmp .L265
.L263:
movq -8(%rbp), %rax
leaq 16(%rax), %rdx
movl -28(%rbp), %eax
cltq
addq $1, %rax
salq $2, %rax
addq %rdx, %rax
movl (%rax), %eax
cltq
jmp .L265
.L266:
movq -8(%rbp), %rax
leaq 16(%rax), %rdx
movl -28(%rbp), %eax
cltq
salq $2, %rax
addq %rdx, %rax
movl (%rax), %eax
cltq
.L265:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE47:
.size Belem, .-Belem
.section .rodata
.LC72:
.string "makeArray:1"
.text
.globl LmakeArray
.type LmakeArray, @function
LmakeArray:
.LFB48:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movl %edi, -36(%rbp)
movl -36(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
jne .L268
leaq .LC72(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L268:
movb $0, -21(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -21(%rbp)
cmpb $0, -21(%rbp)
je .L269
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L269:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L270
leaq __PRETTY_FUNCTION__.11(%rip), %rax
movq %rax, %rcx
movl $697, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L270:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L271
leaq __PRETTY_FUNCTION__.11(%rip), %rax
movq %rax, %rcx
movl $697, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L271:
movl -36(%rbp), %eax
sarl %eax
movl %eax, -20(%rbp)
movl -20(%rbp), %eax
movl %eax, %edi
call alloc_array@PLT
movq %rax, -8(%rbp)
movq -8(%rbp), %rax
addq $16, %rax
movq %rax, -16(%rbp)
jmp .L272
.L273:
movq -16(%rbp), %rax
leaq 4(%rax), %rdx
movq %rdx, -16(%rbp)
movl $1, (%rax)
.L272:
movl -20(%rbp), %eax
leal -1(%rax), %edx
movl %edx, -20(%rbp)
testl %eax, %eax
jne .L273
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L274
leaq __PRETTY_FUNCTION__.11(%rip), %rax
movq %rax, %rcx
movl $705, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L274:
cmpb $0, -21(%rbp)
je .L275
movq $0, __gc_stack_top(%rip)
.L275:
movq -8(%rbp), %rax
addq $16, %rax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE48:
.size LmakeArray, .-LmakeArray
.section .rodata
.LC73:
.string "makeString"
.text
.globl LmakeString
.type LmakeString, @function
LmakeString:
.LFB49:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movl %edi, -20(%rbp)
movl -20(%rbp), %eax
sarl %eax
movl %eax, -12(%rbp)
movl -20(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
jne .L278
leaq .LC73(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L278:
movb $0, -13(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -13(%rbp)
cmpb $0, -13(%rbp)
je .L279
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L279:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L280
leaq __PRETTY_FUNCTION__.10(%rip), %rax
movq %rax, %rcx
movl $716, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L280:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L281
leaq __PRETTY_FUNCTION__.10(%rip), %rax
movq %rax, %rcx
movl $716, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L281:
movl -12(%rbp), %eax
movl %eax, %edi
call alloc_string@PLT
movq %rax, -8(%rbp)
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L282
leaq __PRETTY_FUNCTION__.10(%rip), %rax
movq %rax, %rcx
movl $720, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L282:
cmpb $0, -13(%rbp)
je .L283
movq $0, __gc_stack_top(%rip)
.L283:
movq -8(%rbp), %rax
addq $16, %rax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE49:
.size LmakeString, .-LmakeString
.globl Bstring
.type Bstring, @function
Bstring:
.LFB50:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movq -24(%rbp), %rax
movq %rax, %rdi
call strlen@PLT
movl %eax, -12(%rbp)
movq $0, -8(%rbp)
movb $0, -13(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -13(%rbp)
cmpb $0, -13(%rbp)
je .L286
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L286:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L287
leaq __PRETTY_FUNCTION__.9(%rip), %rax
movq %rax, %rcx
movl $729, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L287:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L288
leaq __PRETTY_FUNCTION__.9(%rip), %rax
movq %rax, %rcx
movl $729, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L288:
leaq -24(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
movl -12(%rbp), %eax
addl %eax, %eax
orl $1, %eax
movl %eax, %edi
call LmakeString
movq %rax, -8(%rbp)
leaq -24(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
movl -12(%rbp), %eax
addl $1, %eax
movslq %eax, %rdx
movq -24(%rbp), %rax
movq -8(%rbp), %rcx
subq $12, %rcx
addq $16, %rcx
movq %rax, %rsi
movq %rcx, %rdi
call strncpy@PLT
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L289
leaq __PRETTY_FUNCTION__.9(%rip), %rax
movq %rax, %rcx
movl $736, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L289:
cmpb $0, -13(%rbp)
je .L290
movq $0, __gc_stack_top(%rip)
.L290:
movq -8(%rbp), %rax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE50:
.size Bstring, .-Bstring
.globl Lstringcat
.type Lstringcat, @function
Lstringcat:
.LFB51:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movb $0, -9(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -9(%rbp)
cmpb $0, -9(%rbp)
je .L293
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L293:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L294
leaq __PRETTY_FUNCTION__.8(%rip), %rax
movq %rax, %rcx
movl $746, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L294:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L295
leaq __PRETTY_FUNCTION__.8(%rip), %rax
movq %rax, %rcx
movl $746, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L295:
movl $0, %eax
call createStringBuf
movq -24(%rbp), %rax
movq %rax, %rdi
call stringcat
leaq -24(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
movq stringBuf(%rip), %rax
movq %rax, %rdi
call Bstring
movq %rax, -8(%rbp)
leaq -24(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
movl $0, %eax
call deleteStringBuf
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L296
leaq __PRETTY_FUNCTION__.8(%rip), %rax
movq %rax, %rcx
movl $757, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L296:
cmpb $0, -9(%rbp)
je .L297
movq $0, __gc_stack_top(%rip)
.L297:
movq -8(%rbp), %rax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE51:
.size Lstringcat, .-Lstringcat
.globl Lstring
.type Lstring, @function
Lstring:
.LFB52:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movq $1, -8(%rbp)
movb $0, -9(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -9(%rbp)
cmpb $0, -9(%rbp)
je .L300
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L300:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L301
leaq __PRETTY_FUNCTION__.7(%rip), %rax
movq %rax, %rcx
movl $765, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L301:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L302
leaq __PRETTY_FUNCTION__.7(%rip), %rax
movq %rax, %rcx
movl $765, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L302:
movl $0, %eax
call createStringBuf
movq -24(%rbp), %rax
movq %rax, %rdi
call printValue
leaq -24(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
movq stringBuf(%rip), %rax
movq %rax, %rdi
call Bstring
movq %rax, -8(%rbp)
leaq -24(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
movl $0, %eax
call deleteStringBuf
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L303
leaq __PRETTY_FUNCTION__.7(%rip), %rax
movq %rax, %rcx
movl $776, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L303:
cmpb $0, -9(%rbp)
je .L304
movq $0, __gc_stack_top(%rip)
.L304:
movq -8(%rbp), %rax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE52:
.size Lstring, .-Lstring
.globl Bclosure
.type Bclosure, @function
Bclosure:
.LFB53:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $256, %rsp
movl %edi, -244(%rbp)
movq %rsi, -256(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L307
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L307:
movq %fs:40, %rax
movq %rax, -184(%rbp)
xorl %eax, %eax
movl -244(%rbp), %eax
sarl %eax
movl %eax, -232(%rbp)
movb $0, -237(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -237(%rbp)
cmpb $0, -237(%rbp)
je .L308
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L308:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L309
leaq __PRETTY_FUNCTION__.6(%rip), %rax
movq %rax, %rcx
movl $789, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L309:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L310
leaq __PRETTY_FUNCTION__.6(%rip), %rax
movq %rax, %rcx
movl $789, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L310:
movq %rbp, %rax
addq $48, %rax
movq %rax, -216(%rbp)
movl $0, -236(%rbp)
jmp .L311
.L312:
movq -216(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
addl $1, -236(%rbp)
addq $8, -216(%rbp)
.L311:
movl -236(%rbp), %eax
cmpl -232(%rbp), %eax
jl .L312
movl -232(%rbp), %eax
addl $1, %eax
movl %eax, %edi
call alloc_closure@PLT
movq %rax, -224(%rbp)
leaq -224(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
movq -224(%rbp), %rax
leaq 16(%rax), %rdx
movq -256(%rbp), %rax
movq %rax, (%rdx)
movl $16, -208(%rbp)
movl $48, -204(%rbp)
leaq 16(%rbp), %rax
movq %rax, -200(%rbp)
leaq -176(%rbp), %rax
movq %rax, -192(%rbp)
movl $0, -236(%rbp)
jmp .L313
.L316:
movl -208(%rbp), %eax
cmpl $47, %eax
ja .L314
movq -192(%rbp), %rax
movl -208(%rbp), %edx
movl %edx, %edx
addq %rdx, %rax
movl -208(%rbp), %edx
addl $8, %edx
movl %edx, -208(%rbp)
jmp .L315
.L314:
movq -200(%rbp), %rax
leaq 8(%rax), %rdx
movq %rdx, -200(%rbp)
.L315:
movl (%rax), %eax
movl %eax, -228(%rbp)
movq -224(%rbp), %rax
leaq 16(%rax), %rdx
movl -236(%rbp), %eax
cltq
addq $1, %rax
salq $2, %rax
addq %rax, %rdx
movl -228(%rbp), %eax
movl %eax, (%rdx)
addl $1, -236(%rbp)
.L313:
movl -236(%rbp), %eax
cmpl -232(%rbp), %eax
jl .L316
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L317
leaq __PRETTY_FUNCTION__.6(%rip), %rax
movq %rax, %rcx
movl $807, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L317:
cmpb $0, -237(%rbp)
je .L318
movq $0, __gc_stack_top(%rip)
.L318:
leaq -224(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
subq $8, -216(%rbp)
movl $0, -236(%rbp)
jmp .L319
.L320:
movq -216(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
addl $1, -236(%rbp)
subq $8, -216(%rbp)
.L319:
movl -236(%rbp), %eax
cmpl -232(%rbp), %eax
jl .L320
movq -224(%rbp), %rax
addq $16, %rax
movq -184(%rbp), %rdx
subq %fs:40, %rdx
je .L322
call __stack_chk_fail@PLT
.L322:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE53:
.size Bclosure, .-Bclosure
.globl Barray
.type Barray, @function
Barray:
.LFB54:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $256, %rsp
movl %edi, -244(%rbp)
movq %rsi, -168(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L324
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L324:
movq %fs:40, %rax
movq %rax, -184(%rbp)
xorl %eax, %eax
movl -244(%rbp), %eax
sarl %eax
movl %eax, -224(%rbp)
movb $0, -229(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -229(%rbp)
cmpb $0, -229(%rbp)
je .L325
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L325:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L326
leaq __PRETTY_FUNCTION__.5(%rip), %rax
movq %rax, %rcx
movl $821, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L326:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L327
leaq __PRETTY_FUNCTION__.5(%rip), %rax
movq %rax, %rcx
movl $821, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L327:
movl -224(%rbp), %eax
movl %eax, %edi
call alloc_array@PLT
movq %rax, -216(%rbp)
movl $8, -208(%rbp)
movl $48, -204(%rbp)
leaq 16(%rbp), %rax
movq %rax, -200(%rbp)
leaq -176(%rbp), %rax
movq %rax, -192(%rbp)
movl $0, -228(%rbp)
jmp .L328
.L331:
movl -208(%rbp), %eax
cmpl $47, %eax
ja .L329
movq -192(%rbp), %rax
movl -208(%rbp), %edx
movl %edx, %edx
addq %rdx, %rax
movl -208(%rbp), %edx
addl $8, %edx
movl %edx, -208(%rbp)
jmp .L330
.L329:
movq -200(%rbp), %rax
leaq 8(%rax), %rdx
movq %rdx, -200(%rbp)
.L330:
movl (%rax), %eax
movl %eax, -220(%rbp)
movq -216(%rbp), %rax
leaq 16(%rax), %rdx
movl -228(%rbp), %eax
cltq
salq $2, %rax
addq %rax, %rdx
movl -220(%rbp), %eax
movl %eax, (%rdx)
addl $1, -228(%rbp)
.L328:
movl -228(%rbp), %eax
cmpl -224(%rbp), %eax
jl .L331
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L332
leaq __PRETTY_FUNCTION__.5(%rip), %rax
movq %rax, %rcx
movl $834, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L332:
cmpb $0, -229(%rbp)
je .L333
movq $0, __gc_stack_top(%rip)
.L333:
movq -216(%rbp), %rax
addq $16, %rax
movq -184(%rbp), %rdx
subq %fs:40, %rdx
je .L335
call __stack_chk_fail@PLT
.L335:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE54:
.size Barray, .-Barray
.globl Bsexp
.type Bsexp, @function
Bsexp:
.LFB55:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $272, %rsp
movl %edi, -260(%rbp)
movq %rsi, -168(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L337
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L337:
movq %fs:40, %rax
movq %rax, -184(%rbp)
xorl %eax, %eax
movl -260(%rbp), %eax
sarl %eax
movl %eax, -236(%rbp)
movb $0, -241(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -241(%rbp)
cmpb $0, -241(%rbp)
je .L338
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L338:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L339
leaq __PRETTY_FUNCTION__.4(%rip), %rax
movq %rax, %rcx
movl $850, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L339:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L340
leaq __PRETTY_FUNCTION__.4(%rip), %rax
movq %rax, %rcx
movl $850, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L340:
movl -236(%rbp), %eax
subl $1, %eax
movl %eax, -232(%rbp)
movl -232(%rbp), %eax
movl %eax, %edi
call alloc_sexp@PLT
movq %rax, -224(%rbp)
movq -224(%rbp), %rax
movl $0, 16(%rax)
movl $8, -208(%rbp)
movl $48, -204(%rbp)
leaq 16(%rbp), %rax
movq %rax, -200(%rbp)
leaq -176(%rbp), %rax
movq %rax, -192(%rbp)
movl $1, -240(%rbp)
jmp .L341
.L344:
movl -208(%rbp), %eax
cmpl $47, %eax
ja .L342
movq -192(%rbp), %rax
movl -208(%rbp), %edx
movl %edx, %edx
addq %rdx, %rax
movl -208(%rbp), %edx
addl $8, %edx
movl %edx, -208(%rbp)
jmp .L343
.L342:
movq -200(%rbp), %rax
leaq 8(%rax), %rdx
movq %rdx, -200(%rbp)
.L343:
movl (%rax), %eax
movl %eax, -228(%rbp)
movl -228(%rbp), %eax
cltq
movq %rax, -216(%rbp)
movq -224(%rbp), %rax
leaq 16(%rax), %rdx
movl -240(%rbp), %eax
cltq
salq $2, %rax
addq %rax, %rdx
movl -228(%rbp), %eax
movl %eax, (%rdx)
addl $1, -240(%rbp)
.L341:
movl -240(%rbp), %eax
cmpl -236(%rbp), %eax
jl .L344
movl -208(%rbp), %eax
cmpl $47, %eax
ja .L345
movq -192(%rbp), %rax
movl -208(%rbp), %edx
movl %edx, %edx
addq %rdx, %rax
movl -208(%rbp), %edx
addl $8, %edx
movl %edx, -208(%rbp)
jmp .L346
.L345:
movq -200(%rbp), %rax
leaq 8(%rax), %rdx
movq %rdx, -200(%rbp)
.L346:
movl (%rax), %eax
sarl %eax
movl %eax, %edx
movq -224(%rbp), %rax
movl %edx, 16(%rax)
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L347
leaq __PRETTY_FUNCTION__.4(%rip), %rax
movq %rax, %rcx
movl $868, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L347:
cmpb $0, -241(%rbp)
je .L348
movq $0, __gc_stack_top(%rip)
.L348:
movq -224(%rbp), %rax
addq $16, %rax
movq -184(%rbp), %rdx
subq %fs:40, %rdx
je .L350
call __stack_chk_fail@PLT
.L350:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE55:
.size Bsexp, .-Bsexp
.globl Btag
.type Btag, @function
Btag:
.LFB56:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -24(%rbp)
movl %esi, -28(%rbp)
movl %edx, -32(%rbp)
movq -24(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L352
movl $1, %eax
jmp .L353
.L352:
movq -24(%rbp), %rax
subq $12, %rax
movq %rax, -8(%rbp)
movq -8(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
cmpl $5, %eax
jne .L354
movq -24(%rbp), %rax
subq $12, %rax
movl 16(%rax), %edx
movl -28(%rbp), %eax
sarl %eax
cmpl %eax, %edx
jne .L354
movq -8(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, %edx
movl -32(%rbp), %eax
sarl %eax
cltq
cmpq %rax, %rdx
jne .L354
movl $1, %eax
jmp .L355
.L354:
movl $0, %eax
.L355:
cltq
addq %rax, %rax
orq $1, %rax
.L353:
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE56:
.size Btag, .-Btag
.globl get_tag
.type get_tag, @function
get_tag:
.LFB57:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE57:
.size get_tag, .-get_tag
.globl get_len
.type get_len, @function
get_len:
.LFB58:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE58:
.size get_len, .-get_len
.globl Barray_patt
.type Barray_patt, @function
Barray_patt:
.LFB59:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movl %esi, -28(%rbp)
movq -24(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L361
movl $1, %eax
jmp .L362
.L361:
movq -24(%rbp), %rax
subq $12, %rax
movq %rax, -8(%rbp)
movq -8(%rbp), %rax
movq %rax, %rdi
call get_tag
cmpl $3, %eax
jne .L363
movq -8(%rbp), %rax
movq %rax, %rdi
call get_len
movl -28(%rbp), %edx
sarl %edx
cmpl %edx, %eax
jne .L363
movl $1, %eax
jmp .L364
.L363:
movl $0, %eax
.L364:
addl %eax, %eax
orl $1, %eax
.L362:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE59:
.size Barray_patt, .-Barray_patt
.section .rodata
.LC74:
.string ".string_patt:2"
.text
.globl Bstring_patt
.type Bstring_patt, @function
Bstring_patt:
.LFB60:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movq %rsi, -32(%rbp)
movq $1, -16(%rbp)
movq $1, -8(%rbp)
movq -32(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L366
movq -32(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L366
leaq .LC74(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L366:
movq -24(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L367
movl $1, %eax
jmp .L368
.L367:
movq -24(%rbp), %rax
subq $12, %rax
movq %rax, -16(%rbp)
movq -32(%rbp), %rax
subq $12, %rax
movq %rax, -8(%rbp)
movq -16(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L369
movl $1, %eax
jmp .L368
.L369:
movq -8(%rbp), %rax
leaq 16(%rax), %rdx
movq -16(%rbp), %rax
addq $16, %rax
movq %rdx, %rsi
movq %rax, %rdi
call strcmp@PLT
testl %eax, %eax
jne .L370
movl $3, %eax
jmp .L368
.L370:
movl $1, %eax
.L368:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE60:
.size Bstring_patt, .-Bstring_patt
.globl Bclosure_tag_patt
.type Bclosure_tag_patt, @function
Bclosure_tag_patt:
.LFB61:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L373
movl $1, %eax
jmp .L374
.L373:
movq -8(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $7, %eax
jne .L375
movl $3, %eax
jmp .L374
.L375:
movl $1, %eax
.L374:
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE61:
.size Bclosure_tag_patt, .-Bclosure_tag_patt
.globl Bboxed_patt
.type Bboxed_patt, @function
Bboxed_patt:
.LFB62:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L378
movl $3, %eax
jmp .L380
.L378:
movl $1, %eax
.L380:
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE62:
.size Bboxed_patt, .-Bboxed_patt
.globl Bunboxed_patt
.type Bunboxed_patt, @function
Bunboxed_patt:
.LFB63:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
addl %eax, %eax
andl $2, %eax
orl $1, %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE63:
.size Bunboxed_patt, .-Bunboxed_patt
.globl Barray_tag_patt
.type Barray_tag_patt, @function
Barray_tag_patt:
.LFB64:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L384
movl $1, %eax
jmp .L385
.L384:
movq -8(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $3, %eax
jne .L386
movl $3, %eax
jmp .L385
.L386:
movl $1, %eax
.L385:
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE64:
.size Barray_tag_patt, .-Barray_tag_patt
.globl Bstring_tag_patt
.type Bstring_tag_patt, @function
Bstring_tag_patt:
.LFB65:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L389
movl $1, %eax
jmp .L390
.L389:
movq -8(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
jne .L391
movl $3, %eax
jmp .L390
.L391:
movl $1, %eax
.L390:
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE65:
.size Bstring_tag_patt, .-Bstring_tag_patt
.globl Bsexp_tag_patt
.type Bsexp_tag_patt, @function
Bsexp_tag_patt:
.LFB66:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L394
movl $1, %eax
jmp .L395
.L394:
movq -8(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $5, %eax
jne .L396
movl $3, %eax
jmp .L395
.L396:
movl $1, %eax
.L395:
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE66:
.size Bsexp_tag_patt, .-Bsexp_tag_patt
.section .rodata
.LC75:
.string ".sta:3"
.text
.globl Bsta
.type Bsta, @function
Bsta:
.LFB67:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movq %rdi, -24(%rbp)
movl %esi, -28(%rbp)
movq %rdx, -40(%rbp)
movl -28(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
je .L399
movq -40(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L400
leaq .LC75(%rip), %rax
movq %rax, %rsi
leaq .LC2(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L400:
movq -40(%rbp), %rax
subq $12, %rax
movq %rax, -8(%rbp)
movq -8(%rbp), %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L401
cmpl $5, %eax
je .L402
jmp .L407
.L401:
movq -24(%rbp), %rax
sarq %rax
movq %rax, %rcx
movl -28(%rbp), %eax
sarl %eax
movslq %eax, %rdx
movq -40(%rbp), %rax
addq %rdx, %rax
movl %ecx, %edx
movb %dl, (%rax)
jmp .L405
.L402:
movq -24(%rbp), %rcx
movl -28(%rbp), %eax
sarl %eax
cltq
addq $1, %rax
leaq 0(,%rax,4), %rdx
movq -40(%rbp), %rax
addq %rdx, %rax
movl %ecx, %edx
movl %edx, (%rax)
jmp .L405
.L407:
movq -24(%rbp), %rcx
movl -28(%rbp), %eax
sarl %eax
cltq
leaq 0(,%rax,4), %rdx
movq -40(%rbp), %rax
addq %rdx, %rax
movl %ecx, %edx
movl %edx, (%rax)
jmp .L405
.L399:
movq -40(%rbp), %rax
movq -24(%rbp), %rdx
movq %rdx, (%rax)
.L405:
movq -24(%rbp), %rax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE67:
.size Bsta, .-Bsta
.type fix_unboxed, @function
fix_unboxed:
.LFB68:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq %rdi, -40(%rbp)
movq %rsi, -48(%rbp)
movq -48(%rbp), %rax
movq %rax, -16(%rbp)
movl $0, -20(%rbp)
jmp .L409
.L412:
movq -40(%rbp), %rax
movzbl (%rax), %eax
cmpb $37, %al
jne .L410
movl -20(%rbp), %eax
cltq
leaq 0(,%rax,8), %rdx
movq -16(%rbp), %rax
addq %rdx, %rax
movq (%rax), %rax
movq %rax, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L411
movq -8(%rbp), %rax
sarq %rax
movq %rax, %rcx
movl -20(%rbp), %eax
cltq
leaq 0(,%rax,8), %rdx
movq -16(%rbp), %rax
addq %rdx, %rax
movq %rcx, %rdx
movq %rdx, (%rax)
.L411:
addl $1, -20(%rbp)
.L410:
addq $1, -40(%rbp)
.L409:
movq -40(%rbp), %rax
movzbl (%rax), %eax
testb %al, %al
jne .L412
nop
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE68:
.size fix_unboxed, .-fix_unboxed
.globl Lfailure
.type Lfailure, @function
Lfailure:
.LFB69:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $224, %rsp
movq %rdi, -216(%rbp)
movq %rsi, -168(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L414
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L414:
movq %fs:40, %rax
movq %rax, -184(%rbp)
xorl %eax, %eax
movl $8, -208(%rbp)
movl $48, -204(%rbp)
leaq 16(%rbp), %rax
movq %rax, -200(%rbp)
leaq -176(%rbp), %rax
movq %rax, -192(%rbp)
leaq -208(%rbp), %rdx
movq -216(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call fix_unboxed
leaq -208(%rbp), %rdx
movq -216(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call vfailure
nop
movq -184(%rbp), %rax
subq %fs:40, %rax
je .L415
call __stack_chk_fail@PLT
.L415:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE69:
.size Lfailure, .-Lfailure
.section .rodata
.align 8
.LC76:
.string "match failure at %s:%d:%d, value '%s'\n"
.text
.globl Bmatch_failure
.type Bmatch_failure, @function
Bmatch_failure:
.LFB70:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -8(%rbp)
movq %rsi, -16(%rbp)
movl %edx, -20(%rbp)
movl %ecx, -24(%rbp)
movl $0, %eax
call createStringBuf
movq -8(%rbp), %rax
movq %rax, %rdi
call printValue
movq stringBuf(%rip), %rsi
movl -24(%rbp), %eax
sarl %eax
movslq %eax, %rcx
movl -20(%rbp), %eax
sarl %eax
movslq %eax, %rdx
movq -16(%rbp), %rax
movq %rsi, %r8
movq %rax, %rsi
leaq .LC76(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
nop
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE70:
.size Bmatch_failure, .-Bmatch_failure
.section .rodata
.LC77:
.string "++:1"
.LC78:
.string "++:2"
.text
.globl Li__Infix_4343
.type Li__Infix_4343, @function
Li__Infix_4343:
.LFB71:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movq %rdi, -40(%rbp)
movq %rsi, -48(%rbp)
movq $1, -24(%rbp)
movq $1, -16(%rbp)
movq $1, -8(%rbp)
movq -40(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L418
movq -40(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L418
leaq .LC77(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L418:
movq -48(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L419
movq -48(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L419
leaq .LC78(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L419:
movq -40(%rbp), %rax
subq $12, %rax
movq %rax, -24(%rbp)
movq -48(%rbp), %rax
subq $12, %rax
movq %rax, -16(%rbp)
movb $0, -25(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -25(%rbp)
cmpb $0, -25(%rbp)
je .L420
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L420:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L421
leaq __PRETTY_FUNCTION__.3(%rip), %rax
movq %rax, %rcx
movl $1011, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L421:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L422
leaq __PRETTY_FUNCTION__.3(%rip), %rax
movq %rax, %rcx
movl $1011, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L422:
leaq -40(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
leaq -48(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
movq -24(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, %edx
movq -16(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
addl %edx, %eax
movl %eax, %edi
call alloc_string@PLT
movq %rax, -8(%rbp)
leaq -48(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
leaq -40(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
movq -40(%rbp), %rax
subq $12, %rax
movq %rax, -24(%rbp)
movq -48(%rbp), %rax
subq $12, %rax
movq %rax, -16(%rbp)
movq -24(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, %edx
movq -24(%rbp), %rax
leaq 16(%rax), %rcx
movq -8(%rbp), %rax
addq $16, %rax
movq %rcx, %rsi
movq %rax, %rdi
call strncpy@PLT
movq -16(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, %esi
movq -16(%rbp), %rax
leaq 16(%rax), %rcx
movq -8(%rbp), %rax
leaq 16(%rax), %rdx
movq -24(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, %eax
addq %rdx, %rax
movq %rsi, %rdx
movq %rcx, %rsi
movq %rax, %rdi
call strncpy@PLT
movq -24(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
movl %eax, %edx
movq -16(%rbp), %rax
movl (%rax), %eax
shrl $3, %eax
addl %eax, %edx
movq -8(%rbp), %rax
movl %edx, %edx
movb $0, 16(%rax,%rdx)
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L423
leaq __PRETTY_FUNCTION__.3(%rip), %rax
movq %rax, %rcx
movl $1026, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L423:
cmpb $0, -25(%rbp)
je .L424
movq $0, __gc_stack_top(%rip)
.L424:
movq -8(%rbp), %rax
addq $16, %rax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE71:
.size Li__Infix_4343, .-Li__Infix_4343
.section .rodata
.LC79:
.string "sprintf:1"
.text
.globl Lsprintf
.type Lsprintf, @function
Lsprintf:
.LFB72:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $240, %rsp
movq %rdi, -232(%rbp)
movq %rsi, -168(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L427
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L427:
movq %fs:40, %rax
movq %rax, -184(%rbp)
xorl %eax, %eax
movq -232(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L428
movq -232(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L428
leaq .LC79(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L428:
movl $8, -208(%rbp)
movl $48, -204(%rbp)
leaq 16(%rbp), %rax
movq %rax, -200(%rbp)
leaq -176(%rbp), %rax
movq %rax, -192(%rbp)
movq -232(%rbp), %rax
leaq -208(%rbp), %rdx
movq %rdx, %rsi
movq %rax, %rdi
call fix_unboxed
movl $0, %eax
call createStringBuf
movq -232(%rbp), %rax
leaq -208(%rbp), %rdx
movq %rdx, %rsi
movq %rax, %rdi
call vprintStringBuf
movb $0, -217(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -217(%rbp)
cmpb $0, -217(%rbp)
je .L429
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L429:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L430
leaq __PRETTY_FUNCTION__.2(%rip), %rax
movq %rax, %rcx
movl $1044, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L430:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L431
leaq __PRETTY_FUNCTION__.2(%rip), %rax
movq %rax, %rcx
movl $1044, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L431:
leaq -232(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
movq stringBuf(%rip), %rax
movq %rax, %rdi
call Bstring
movq %rax, -216(%rbp)
leaq -232(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L432
leaq __PRETTY_FUNCTION__.2(%rip), %rax
movq %rax, %rcx
movl $1050, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L432:
cmpb $0, -217(%rbp)
je .L433
movq $0, __gc_stack_top(%rip)
.L433:
movl $0, %eax
call deleteStringBuf
movq -216(%rbp), %rax
movq -184(%rbp), %rdx
subq %fs:40, %rdx
je .L435
call __stack_chk_fail@PLT
.L435:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE72:
.size Lsprintf, .-Lsprintf
.globl LgetEnv
.type LgetEnv, @function
LgetEnv:
.LFB73:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movq %rdi, -40(%rbp)
movq -40(%rbp), %rax
movq %rax, %rdi
call getenv@PLT
movq %rax, -16(%rbp)
cmpq $0, -16(%rbp)
jne .L437
movl $1, %eax
jmp .L438
.L437:
movb $0, -17(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -17(%rbp)
cmpb $0, -17(%rbp)
je .L439
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L439:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L440
leaq __PRETTY_FUNCTION__.1(%rip), %rax
movq %rax, %rcx
movl $1063, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L440:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L441
leaq __PRETTY_FUNCTION__.1(%rip), %rax
movq %rax, %rcx
movl $1063, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L441:
movq -16(%rbp), %rax
movq %rax, %rdi
call Bstring
movq %rax, -8(%rbp)
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L442
leaq __PRETTY_FUNCTION__.1(%rip), %rax
movq %rax, %rcx
movl $1067, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L442:
cmpb $0, -17(%rbp)
je .L443
movq $0, __gc_stack_top(%rip)
.L443:
movq -8(%rbp), %rax
.L438:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE73:
.size LgetEnv, .-LgetEnv
.globl Lsystem
.type Lsystem, @function
Lsystem:
.LFB74:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
movq %rax, %rdi
call system@PLT
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE74:
.size Lsystem, .-Lsystem
.section .rodata
.LC80:
.string "fprintf:1"
.LC81:
.string "fprintf:2"
.LC82:
.string "fprintf (...): %s\n"
.text
.globl Lfprintf
.type Lfprintf, @function
Lfprintf:
.LFB75:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $224, %rsp
movq %rdi, -216(%rbp)
movq %rsi, -224(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L447
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L447:
movq %fs:40, %rax
movq %rax, -184(%rbp)
xorl %eax, %eax
movq -216(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L448
leaq .LC80(%rip), %rax
movq %rax, %rsi
leaq .LC2(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L448:
movq -224(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L449
movq -224(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L449
leaq .LC81(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L449:
movl $16, -208(%rbp)
movl $48, -204(%rbp)
leaq 16(%rbp), %rax
movq %rax, -200(%rbp)
leaq -176(%rbp), %rax
movq %rax, -192(%rbp)
leaq -208(%rbp), %rdx
movq -224(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call fix_unboxed
leaq -208(%rbp), %rdx
movq -224(%rbp), %rcx
movq -216(%rbp), %rax
movq %rcx, %rsi
movq %rax, %rdi
call vfprintf@PLT
testl %eax, %eax
jns .L452
call __errno_location@PLT
movl (%rax), %eax
movl %eax, %edi
call strerror@PLT
movq %rax, %rsi
leaq .LC82(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L452:
nop
movq -184(%rbp), %rax
subq %fs:40, %rax
je .L451
call __stack_chk_fail@PLT
.L451:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE75:
.size Lfprintf, .-Lfprintf
.section .rodata
.LC83:
.string "printf:1"
.text
.globl Lprintf
.type Lprintf, @function
Lprintf:
.LFB76:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $224, %rsp
movq %rdi, -216(%rbp)
movq %rsi, -168(%rbp)
movq %rdx, -160(%rbp)
movq %rcx, -152(%rbp)
movq %r8, -144(%rbp)
movq %r9, -136(%rbp)
testb %al, %al
je .L454
movaps %xmm0, -128(%rbp)
movaps %xmm1, -112(%rbp)
movaps %xmm2, -96(%rbp)
movaps %xmm3, -80(%rbp)
movaps %xmm4, -64(%rbp)
movaps %xmm5, -48(%rbp)
movaps %xmm6, -32(%rbp)
movaps %xmm7, -16(%rbp)
.L454:
movq %fs:40, %rax
movq %rax, -184(%rbp)
xorl %eax, %eax
movq -216(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L455
movq -216(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L455
leaq .LC83(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L455:
movl $8, -208(%rbp)
movl $48, -204(%rbp)
leaq 16(%rbp), %rax
movq %rax, -200(%rbp)
leaq -176(%rbp), %rax
movq %rax, -192(%rbp)
leaq -208(%rbp), %rdx
movq -216(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call fix_unboxed
leaq -208(%rbp), %rdx
movq -216(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call vprintf@PLT
testl %eax, %eax
jns .L456
call __errno_location@PLT
movl (%rax), %eax
movl %eax, %edi
call strerror@PLT
movq %rax, %rsi
leaq .LC82(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L456:
movq stdout(%rip), %rax
movq %rax, %rdi
call fflush@PLT
nop
movq -184(%rbp), %rax
subq %fs:40, %rax
je .L457
call __stack_chk_fail@PLT
.L457:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE76:
.size Lprintf, .-Lprintf
.section .rodata
.LC84:
.string "fopen:1"
.LC85:
.string "fopen:2"
.align 8
.LC86:
.string "fopen (\"%s\", \"%s\"): %s, %s, %s\n"
.text
.globl Lfopen
.type Lfopen, @function
Lfopen:
.LFB77:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movq %rsi, -32(%rbp)
movq -24(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L459
movq -24(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L459
leaq .LC84(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L459:
movq -32(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L460
movq -32(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L460
leaq .LC85(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L460:
movq -32(%rbp), %rdx
movq -24(%rbp), %rax
movq %rdx, %rsi
movq %rax, %rdi
call fopen@PLT
movq %rax, -8(%rbp)
cmpq $0, -8(%rbp)
je .L461
movq -8(%rbp), %rax
jmp .L458
.L461:
call __errno_location@PLT
movl (%rax), %eax
movl %eax, %edi
call strerror@PLT
movq %rax, %rcx
movq -32(%rbp), %rdx
movq -24(%rbp), %rax
movq %rax, %rsi
leaq .LC86(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L458:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE77:
.size Lfopen, .-Lfopen
.section .rodata
.LC87:
.string "fclose"
.text
.globl Lfclose
.type Lfclose, @function
Lfclose:
.LFB78:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
andl $1, %eax
testq %rax, %rax
je .L464
leaq .LC87(%rip), %rax
movq %rax, %rsi
leaq .LC2(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L464:
movq -8(%rbp), %rax
movq %rax, %rdi
call fclose@PLT
nop
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE78:
.size Lfclose, .-Lfclose
.section .rodata
.LC88:
.string "%m[^\n]"
.LC89:
.string "readLine (): %s\n"
.text
.globl LreadLine
.type LreadLine, @function
LreadLine:
.LFB79:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %fs:40, %rax
movq %rax, -8(%rbp)
xorl %eax, %eax
leaq -24(%rbp), %rax
movq %rax, %rsi
leaq .LC88(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call __isoc23_scanf@PLT
cmpl $1, %eax
jne .L466
movq -24(%rbp), %rax
movq %rax, %rdi
call Bstring
movq %rax, -16(%rbp)
call getchar@PLT
movq -24(%rbp), %rax
movq %rax, %rdi
call free@PLT
movq -16(%rbp), %rax
jmp .L469
.L466:
call __errno_location@PLT
movl (%rax), %eax
testl %eax, %eax
je .L468
call __errno_location@PLT
movl (%rax), %eax
movl %eax, %edi
call strerror@PLT
movq %rax, %rsi
leaq .LC89(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L468:
movl $1, %eax
.L469:
movq -8(%rbp), %rdx
subq %fs:40, %rdx
je .L470
call __stack_chk_fail@PLT
.L470:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE79:
.size LreadLine, .-LreadLine
.section .rodata
.LC90:
.string "fread"
.LC91:
.string "r"
.LC92:
.string "fread (\"%s\"): %s\n"
.text
.globl Lfread
.type Lfread, @function
Lfread:
.LFB80:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movq %rdi, -40(%rbp)
movq -40(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L472
movq -40(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L472
leaq .LC90(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L472:
movq -40(%rbp), %rax
leaq .LC91(%rip), %rdx
movq %rdx, %rsi
movq %rax, %rdi
call fopen@PLT
movq %rax, -24(%rbp)
cmpq $0, -24(%rbp)
je .L473
movq -24(%rbp), %rax
movl $2, %edx
movl $0, %esi
movq %rax, %rdi
call fseek@PLT
testl %eax, %eax
js .L473
movq -24(%rbp), %rax
movq %rax, %rdi
call ftell@PLT
movq %rax, -16(%rbp)
movq -16(%rbp), %rax
addl %eax, %eax
orl $1, %eax
movl %eax, %edi
call LmakeString
movq %rax, -8(%rbp)
movq -24(%rbp), %rax
movq %rax, %rdi
call rewind@PLT
movq -16(%rbp), %rdx
movq -24(%rbp), %rcx
movq -8(%rbp), %rax
movl $1, %esi
movq %rax, %rdi
call fread@PLT
movq %rax, %rdx
movq -16(%rbp), %rax
cmpq %rax, %rdx
jne .L473
movq -24(%rbp), %rax
movq %rax, %rdi
call fclose@PLT
movq -8(%rbp), %rax
jmp .L471
.L473:
call __errno_location@PLT
movl (%rax), %eax
movl %eax, %edi
call strerror@PLT
movq %rax, %rdx
movq -40(%rbp), %rax
movq %rax, %rsi
leaq .LC92(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L471:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE80:
.size Lfread, .-Lfread
.section .rodata
.LC93:
.string "fwrite:1"
.LC94:
.string "fwrite:2"
.LC95:
.string "w"
.LC96:
.string "fwrite (\"%s\"): %s\n"
.text
.globl Lfwrite
.type Lfwrite, @function
Lfwrite:
.LFB81:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movq %rsi, -32(%rbp)
movq -24(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L476
movq -24(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L476
leaq .LC93(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L476:
movq -32(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L477
movq -32(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L477
leaq .LC94(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L477:
movq -24(%rbp), %rax
leaq .LC95(%rip), %rdx
movq %rdx, %rsi
movq %rax, %rdi
call fopen@PLT
movq %rax, -8(%rbp)
cmpq $0, -8(%rbp)
je .L478
movq -32(%rbp), %rdx
movq -8(%rbp), %rax
leaq .LC48(%rip), %rcx
movq %rcx, %rsi
movq %rax, %rdi
movl $0, %eax
call fprintf@PLT
testl %eax, %eax
js .L478
movq -8(%rbp), %rax
movq %rax, %rdi
call fclose@PLT
jmp .L479
.L478:
call __errno_location@PLT
movl (%rax), %eax
movl %eax, %edi
call strerror@PLT
movq %rax, %rdx
movq -24(%rbp), %rax
movq %rax, %rsi
leaq .LC96(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
nop
.L479:
nop
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE81:
.size Lfwrite, .-Lfwrite
.section .rodata
.LC97:
.string "fexists"
.text
.globl Lfexists
.type Lfexists, @function
Lfexists:
.LFB82:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %rdi, -24(%rbp)
movq -24(%rbp), %rax
andl $1, %eax
testq %rax, %rax
jne .L481
movq -24(%rbp), %rax
subq $12, %rax
movl (%rax), %eax
andl $7, %eax
cmpl $1, %eax
je .L481
leaq .LC97(%rip), %rax
movq %rax, %rsi
leaq .LC56(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L481:
movq -24(%rbp), %rax
leaq .LC91(%rip), %rdx
movq %rdx, %rsi
movq %rax, %rdi
call fopen@PLT
movq %rax, -8(%rbp)
cmpq $0, -8(%rbp)
je .L482
movl $3, %eax
jmp .L483
.L482:
movl $1, %eax
.L483:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE82:
.size Lfexists, .-Lfexists
.globl Lfst
.type Lfst, @function
Lfst:
.LFB83:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
movl $1, %esi
movq %rax, %rdi
call Belem
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE83:
.size Lfst, .-Lfst
.globl Lsnd
.type Lsnd, @function
Lsnd:
.LFB84:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
movl $3, %esi
movq %rax, %rdi
call Belem
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE84:
.size Lsnd, .-Lsnd
.globl Lhd
.type Lhd, @function
Lhd:
.LFB85:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
movl $1, %esi
movq %rax, %rdi
call Belem
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE85:
.size Lhd, .-Lhd
.globl Ltl
.type Ltl, @function
Ltl:
.LFB86:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
movl $3, %esi
movq %rax, %rdi
call Belem
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE86:
.size Ltl, .-Ltl
.section .rodata
.LC98:
.string "> "
.LC99:
.string "%li"
.text
.globl Lread
.type Lread, @function
Lread:
.LFB87:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %fs:40, %rax
movq %rax, -8(%rbp)
xorl %eax, %eax
movq $1, -16(%rbp)
leaq .LC98(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
movq stdout(%rip), %rax
movq %rax, %rdi
call fflush@PLT
leaq -16(%rbp), %rax
movq %rax, %rsi
leaq .LC99(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call __isoc23_scanf@PLT
movq -16(%rbp), %rax
addq %rax, %rax
orq $1, %rax
movq -8(%rbp), %rdx
subq %fs:40, %rdx
je .L494
call __stack_chk_fail@PLT
.L494:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE87:
.size Lread, .-Lread
.section .rodata
.align 8
.LC100:
.string "ERROR: POINTER ARITHMETICS is forbidden; EXIT\n"
.text
.globl Lbinoperror
.type Lbinoperror, @function
Lbinoperror:
.LFB88:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq stderr(%rip), %rax
movq %rax, %rcx
movl $46, %edx
movl $1, %esi
leaq .LC100(%rip), %rax
movq %rax, %rdi
call fwrite@PLT
movl $1, %edi
call exit@PLT
.cfi_endproc
.LFE88:
.size Lbinoperror, .-Lbinoperror
.section .rodata
.align 8
.LC101:
.string "ERROR: Comparing BOXED and UNBOXED value ; EXIT\n"
.text
.globl Lbinoperror2
.type Lbinoperror2, @function
Lbinoperror2:
.LFB89:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movq stderr(%rip), %rax
movq %rax, %rcx
movl $48, %edx
movl $1, %esi
leaq .LC101(%rip), %rax
movq %rax, %rdi
call fwrite@PLT
movl $1, %edi
call exit@PLT
.cfi_endproc
.LFE89:
.size Lbinoperror2, .-Lbinoperror2
.section .rodata
.LC102:
.string "%ld\n"
.text
.globl Lwrite
.type Lwrite, @function
Lwrite:
.LFB90:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movq %rdi, -8(%rbp)
movq -8(%rbp), %rax
sarq %rax
movq %rax, %rsi
leaq .LC102(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
movq stdout(%rip), %rax
movq %rax, %rdi
call fflush@PLT
movl $0, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE90:
.size Lwrite, .-Lwrite
.section .rodata
.LC103:
.string "Lrandom, 0"
.LC104:
.string "invalid range in random: %d\n"
.text
.globl Lrandom
.type Lrandom, @function
Lrandom:
.LFB91:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $16, %rsp
movl %edi, -4(%rbp)
movl -4(%rbp), %eax
cltq
andl $1, %eax
testq %rax, %rax
jne .L500
leaq .LC103(%rip), %rax
movq %rax, %rsi
leaq .LC10(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L500:
movl -4(%rbp), %eax
sarl %eax
testl %eax, %eax
jg .L501
movl -4(%rbp), %eax
sarl %eax
cltq
movq %rax, %rsi
leaq .LC104(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call failure
.L501:
call random@PLT
movl -4(%rbp), %edx
sarl %edx
movslq %edx, %rcx
cqto
idivq %rcx
movq %rdx, %rcx
movq %rcx, %rax
addl %eax, %eax
orl $1, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE91:
.size Lrandom, .-Lrandom
.globl Ltime
.type Ltime, @function
Ltime:
.LFB92:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $32, %rsp
movq %fs:40, %rax
movq %rax, -8(%rbp)
xorl %eax, %eax
leaq -32(%rbp), %rax
movq %rax, %rsi
movl $4, %edi
call clock_gettime@PLT
movq -32(%rbp), %rax
imulq $1000000, %rax, %rsi
movq -24(%rbp), %rcx
movabsq $2361183241434822607, %rdx
movq %rcx, %rax
imulq %rdx
sarq $7, %rdx
movq %rcx, %rax
sarq $63, %rax
subq %rax, %rdx
leaq (%rsi,%rdx), %rax
addl %eax, %eax
orl $1, %eax
movq -8(%rbp), %rdx
subq %fs:40, %rdx
je .L505
call __stack_chk_fail@PLT
.L505:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE92:
.size Ltime, .-Ltime
.globl set_args
.type set_args, @function
set_args:
.LFB93:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movl %edi, -36(%rbp)
movq %rsi, -48(%rbp)
movq %fs:40, %rax
movq %rax, -8(%rbp)
xorl %eax, %eax
movl -36(%rbp), %eax
movl %eax, -20(%rbp)
movq $0, -16(%rbp)
movb $0, -25(%rbp)
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
sete %al
movb %al, -25(%rbp)
cmpb $0, -25(%rbp)
je .L507
movq %rbp, %rax
movq %rax, __gc_stack_top(%rip)
.L507:
movq __gc_stack_top(%rip), %rax
testq %rax, %rax
jne .L508
leaq __PRETTY_FUNCTION__.0(%rip), %rax
movq %rax, %rcx
movl $1244, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC6(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L508:
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L509
leaq __PRETTY_FUNCTION__.0(%rip), %rax
movq %rax, %rcx
movl $1244, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L509:
movl -20(%rbp), %eax
addl %eax, %eax
orl $1, %eax
movl %eax, %edi
call LmakeArray
movq %rax, -16(%rbp)
leaq -16(%rbp), %rax
movq %rax, %rdi
call push_extra_root@PLT
movl $0, -24(%rbp)
jmp .L510
.L511:
movl -24(%rbp), %eax
cltq
leaq 0(,%rax,8), %rdx
movq -48(%rbp), %rax
addq %rdx, %rax
movq (%rax), %rax
movq %rax, %rdi
call Bstring
movq %rax, %rcx
movq -16(%rbp), %rax
movl -24(%rbp), %edx
movslq %edx, %rdx
salq $2, %rdx
addq %rdx, %rax
movl %ecx, %edx
movl %edx, (%rax)
addl $1, -24(%rbp)
.L510:
movl -24(%rbp), %eax
cmpl -20(%rbp), %eax
jl .L511
leaq -16(%rbp), %rax
movq %rax, %rdi
call pop_extra_root@PLT
movq %rbp, %rax
movq __gc_stack_top(%rip), %rdx
cmpq %rax, %rdx
jnb .L512
leaq __PRETTY_FUNCTION__.0(%rip), %rax
movq %rax, %rcx
movl $1252, %edx
leaq .LC5(%rip), %rax
movq %rax, %rsi
leaq .LC7(%rip), %rax
movq %rax, %rdi
call __assert_fail@PLT
.L512:
cmpb $0, -25(%rbp)
je .L513
movq $0, __gc_stack_top(%rip)
.L513:
movq -16(%rbp), %rax
movq %rax, global_sysargs(%rip)
leaq global_sysargs(%rip), %rax
movq %rax, %rdi
call push_extra_root@PLT
nop
movq -8(%rbp), %rax
subq %fs:40, %rax
je .L514
call __stack_chk_fail@PLT
.L514:
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE93:
.size set_args, .-set_args
.section .rodata
.align 8
.type __PRETTY_FUNCTION__.15, @object
.size __PRETTY_FUNCTION__.15, 13
__PRETTY_FUNCTION__.15:
.string "Ls__Infix_58"
.local buf.14
.comm buf.14,6,1
.align 8
.type __PRETTY_FUNCTION__.13, @object
.size __PRETTY_FUNCTION__.13, 11
__PRETTY_FUNCTION__.13:
.string "Lsubstring"
.type __PRETTY_FUNCTION__.12, @object
.size __PRETTY_FUNCTION__.12, 7
__PRETTY_FUNCTION__.12:
.string "Lclone"
.align 8
.type __PRETTY_FUNCTION__.11, @object
.size __PRETTY_FUNCTION__.11, 11
__PRETTY_FUNCTION__.11:
.string "LmakeArray"
.align 8
.type __PRETTY_FUNCTION__.10, @object
.size __PRETTY_FUNCTION__.10, 12
__PRETTY_FUNCTION__.10:
.string "LmakeString"
.align 8
.type __PRETTY_FUNCTION__.9, @object
.size __PRETTY_FUNCTION__.9, 8
__PRETTY_FUNCTION__.9:
.string "Bstring"
.align 8
.type __PRETTY_FUNCTION__.8, @object
.size __PRETTY_FUNCTION__.8, 11
__PRETTY_FUNCTION__.8:
.string "Lstringcat"
.align 8
.type __PRETTY_FUNCTION__.7, @object
.size __PRETTY_FUNCTION__.7, 8
__PRETTY_FUNCTION__.7:
.string "Lstring"
.align 8
.type __PRETTY_FUNCTION__.6, @object
.size __PRETTY_FUNCTION__.6, 9
__PRETTY_FUNCTION__.6:
.string "Bclosure"
.type __PRETTY_FUNCTION__.5, @object
.size __PRETTY_FUNCTION__.5, 7
__PRETTY_FUNCTION__.5:
.string "Barray"
.type __PRETTY_FUNCTION__.4, @object
.size __PRETTY_FUNCTION__.4, 6
__PRETTY_FUNCTION__.4:
.string "Bsexp"
.align 8
.type __PRETTY_FUNCTION__.3, @object
.size __PRETTY_FUNCTION__.3, 15
__PRETTY_FUNCTION__.3:
.string "Li__Infix_4343"
.align 8
.type __PRETTY_FUNCTION__.2, @object
.size __PRETTY_FUNCTION__.2, 9
__PRETTY_FUNCTION__.2:
.string "Lsprintf"
.align 8
.type __PRETTY_FUNCTION__.1, @object
.size __PRETTY_FUNCTION__.1, 8
__PRETTY_FUNCTION__.1:
.string "LgetEnv"
.align 8
.type __PRETTY_FUNCTION__.0, @object
.size __PRETTY_FUNCTION__.0, 9
__PRETTY_FUNCTION__.0:
.string "set_args"
.ident "GCC: (GNU) 13.2.1 20230801"
.section .note.GNU-stack,"",@progbits