From ac6004730fa54a756d1627a4e8450cd32df86f75 Mon Sep 17 00:00:00 2001 From: Preston Pan Date: Tue, 9 Jan 2024 18:39:49 -0800 Subject: reorganize directory structure --- build/parser.s | 2934 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2934 insertions(+) create mode 100644 build/parser.s (limited to 'build/parser.s') diff --git a/build/parser.s b/build/parser.s new file mode 100644 index 0000000..bfe0b05 --- /dev/null +++ b/build/parser.s @@ -0,0 +1,2934 @@ + .file "parser.c" + .text + .p2align 4 + .globl func_free + .type func_free, @function +func_free: +.LFB24: + .cfi_startproc + ret + .cfi_endproc +.LFE24: + .size func_free, .-func_free + .p2align 4 + .globl init_array + .type init_array, @function +init_array: +.LFB25: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movl $24, %esi + movq %rdi, %rbp + movl $1, %edi + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + subq $8, %rsp + .cfi_def_cfa_offset 32 + call calloc@PLT + movq %rbp, %rdi + movl $8, %esi + movq %rbp, 16(%rax) + movq %rax, %rbx + call calloc@PLT + movq %rax, (%rbx) + addq $8, %rsp + .cfi_def_cfa_offset 24 + movq %rbx, %rax + popq %rbx + .cfi_def_cfa_offset 16 + popq %rbp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE25: + .size init_array, .-init_array + .p2align 4 + .globl array_append + .type array_append, @function +array_append: +.LFB26: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsi, %rbp + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + movq %rdi, %rbx + subq $8, %rsp + .cfi_def_cfa_offset 32 + movq 16(%rdi), %rsi + movq 8(%rdi), %rdx + movq (%rdi), %rdi + leaq -2(%rsi), %rax + cmpq %rax, %rdx + jnb .L8 +.L6: + movq %rbp, (%rdi,%rdx,8) + addq $1, %rdx + movq %rdx, 8(%rbx) + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 24 + popq %rbx + .cfi_def_cfa_offset 16 + popq %rbp + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L8: + .cfi_restore_state + leaq (%rsi,%rsi), %rax + salq $4, %rsi + movq %rax, 16(%rbx) + call realloc@PLT + movq 8(%rbx), %rdx + movq %rax, (%rbx) + movq %rax, %rdi + jmp .L6 + .cfi_endproc +.LFE26: + .size array_append, .-array_append + .p2align 4 + .globl array_pop + .type array_pop, @function +array_pop: +.LFB27: + .cfi_startproc + movq 8(%rdi), %rax + xorl %edx, %edx + testq %rax, %rax + je .L9 + movq (%rdi), %rdx + movq -8(%rdx,%rax,8), %rdx + subq $1, %rax + movq %rax, 8(%rdi) +.L9: + movq %rdx, %rax + ret + .cfi_endproc +.LFE27: + .size array_pop, .-array_pop + .p2align 4 + .globl array_extend + .type array_extend, @function +array_extend: +.LFB28: + .cfi_startproc + cmpq $0, 8(%rsi) + je .L21 + pushq %r13 + .cfi_def_cfa_offset 16 + .cfi_offset 13, -16 + movq %rsi, %r13 + pushq %r12 + .cfi_def_cfa_offset 24 + .cfi_offset 12, -24 + pushq %rbp + .cfi_def_cfa_offset 32 + .cfi_offset 6, -32 + movq %rdi, %rbp + pushq %rbx + .cfi_def_cfa_offset 40 + .cfi_offset 3, -40 + xorl %ebx, %ebx + subq $8, %rsp + .cfi_def_cfa_offset 48 + movq 8(%rdi), %rdx + movq (%rdi), %rdi +.L24: + movq 0(%r13), %rcx + movq 16(%rbp), %rsi +.L18: + leaq -2(%rsi), %rax + movq (%rcx,%rbx,8), %r12 + cmpq %rax, %rdx + jnb .L26 + movq %r12, (%rdi,%rdx,8) + addq $1, %rdx + addq $1, %rbx + movq %rdx, 8(%rbp) + cmpq 8(%r13), %rbx + jb .L18 + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 40 + popq %rbx + .cfi_def_cfa_offset 32 + popq %rbp + .cfi_def_cfa_offset 24 + popq %r12 + .cfi_def_cfa_offset 16 + popq %r13 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L26: + .cfi_restore_state + leaq (%rsi,%rsi), %rax + salq $4, %rsi + addq $1, %rbx + movq %rax, 16(%rbp) + call realloc@PLT + movq 8(%rbp), %rdx + movq %rax, 0(%rbp) + movq %rax, %rdi + movq %r12, (%rax,%rdx,8) + addq $1, %rdx + movq %rdx, 8(%rbp) + cmpq 8(%r13), %rbx + jb .L24 + addq $8, %rsp + .cfi_def_cfa_offset 40 + popq %rbx + .cfi_def_cfa_offset 32 + popq %rbp + .cfi_def_cfa_offset 24 + popq %r12 + .cfi_def_cfa_offset 16 + popq %r13 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L21: + .cfi_restore 3 + .cfi_restore 6 + .cfi_restore 12 + .cfi_restore 13 + ret + .cfi_endproc +.LFE28: + .size array_extend, .-array_extend + .p2align 4 + .globl init_value + .type init_value, @function +init_value: +.LFB31: + .cfi_startproc + pushq %rbx + .cfi_def_cfa_offset 16 + .cfi_offset 3, -16 + movl $48, %esi + movl %edi, %ebx + movl $1, %edi + call calloc@PLT + movl %ebx, (%rax) + movb $0, 40(%rax) + popq %rbx + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE31: + .size init_value, .-init_value + .section .text.unlikely,"ax",@progbits +.LCOLDB1: + .text +.LHOTB1: + .p2align 4 + .globl value_copy + .type value_copy, @function +value_copy: +.LFB32: + .cfi_startproc + pushq %r14 + .cfi_def_cfa_offset 16 + .cfi_offset 14, -16 + movl $48, %esi + pushq %r13 + .cfi_def_cfa_offset 24 + .cfi_offset 13, -24 + pushq %r12 + .cfi_def_cfa_offset 32 + .cfi_offset 12, -32 + pushq %rbp + .cfi_def_cfa_offset 40 + .cfi_offset 6, -40 + movq %rdi, %rbp + movl $1, %edi + pushq %rbx + .cfi_def_cfa_offset 48 + .cfi_offset 3, -48 + subq $16, %rsp + .cfi_def_cfa_offset 64 + call calloc@PLT + movq %rax, %rbx + movl 0(%rbp), %eax + movl %eax, (%rbx) + cmpl $6, %eax + ja .L29 + leaq .L32(%rip), %rdx + movslq (%rdx,%rax,4), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L32: + .long .L34-.L32 + .long .L35-.L32 + .long .L35-.L32 + .long .L34-.L32 + .long .L33-.L32 + .long .L29-.L32 + .long .L31-.L32 + .text + .p2align 4,,10 + .p2align 3 +.L33: + movq 16(%rbp), %r12 + movl $24, %esi + movl $1, %edi + call calloc@PLT + movl $8, %esi + movdqu 8(%r12), %xmm0 + movq %rax, %r13 + movhlps %xmm0, %xmm1 + movups %xmm0, 8(%rax) + movq %xmm1, %rdi + movaps %xmm0, (%rsp) + call calloc@PLT + movdqa (%rsp), %xmm0 + movq %rax, 0(%r13) + movq %xmm0, %rdx + testq %rdx, %rdx + je .L36 + xorl %ebp, %ebp + jmp .L37 + .p2align 4,,10 + .p2align 3 +.L53: + movq 0(%r13), %rax +.L37: + leaq (%rax,%rbp,8), %r14 + movq (%r12), %rax + movq (%rax,%rbp,8), %rdi + addq $1, %rbp + call value_copy + movq %rax, (%r14) + cmpq 8(%r12), %rbp + jb .L53 +.L36: + movq %r13, 16(%rbx) +.L29: + addq $16, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 48 + movq %rbx, %rax + popq %rbx + .cfi_def_cfa_offset 40 + popq %rbp + .cfi_def_cfa_offset 32 + popq %r12 + .cfi_def_cfa_offset 24 + popq %r13 + .cfi_def_cfa_offset 16 + popq %r14 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L35: + .cfi_restore_state + fldt 16(%rbp) + movq %rbx, %rax + fstpt 16(%rbx) + addq $16, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 48 + popq %rbx + .cfi_def_cfa_offset 40 + popq %rbp + .cfi_def_cfa_offset 32 + popq %r12 + .cfi_def_cfa_offset 24 + popq %r13 + .cfi_def_cfa_offset 16 + popq %r14 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L34: + .cfi_restore_state + movq 16(%rbp), %rdi + call string_copy@PLT + movq %rax, 16(%rbx) + movzbl 40(%rbp), %eax + movb %al, 40(%rbx) + addq $16, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 48 + movq %rbx, %rax + popq %rbx + .cfi_def_cfa_offset 40 + popq %rbp + .cfi_def_cfa_offset 32 + popq %r12 + .cfi_def_cfa_offset 24 + popq %r13 + .cfi_def_cfa_offset 16 + popq %r14 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L31: + .cfi_restore_state + movq 16(%rbx), %rax + movq OBJ_TABLE(%rip), %rdi + movq 16(%rax), %r12 + movq (%rdi), %r8 + movl $5381, %eax + movsbq (%r12), %rdx + leaq 1(%r12), %rcx + testb %dl, %dl + je .L38 + .p2align 4,,10 + .p2align 3 +.L39: + movq %rax, %rsi + addq $1, %rcx + salq $5, %rsi + addq %rsi, %rax + addq %rdx, %rax + movsbq -1(%rcx), %rdx + testb %dl, %dl + jne .L39 +.L38: + xorl %edx, %edx + divq 8(%rdi) + movq (%r8,%rdx,8), %rax + movq (%rax), %r13 + testq %r13, %r13 + jne .L42 + jmp .L40 + .p2align 4,,10 + .p2align 3 +.L41: + movq 16(%r13), %r13 + testq %r13, %r13 + je .L40 +.L42: + movq 0(%r13), %rax + movq %r12, %rdi + movq 16(%rax), %rsi + call strcmp@PLT + testl %eax, %eax + jne .L41 + movq 8(%r13), %rax + movq 32(%rbp), %rdi + call *8(%rax) + movq 16(%rbp), %rdi + movq %rax, 32(%rbx) + call string_copy@PLT + movq %rax, 16(%rbx) + jmp .L29 + .cfi_endproc + .section .text.unlikely + .cfi_startproc + .type value_copy.cold, @function +value_copy.cold: +.LFSB32: +.L40: + .cfi_def_cfa_offset 64 + .cfi_offset 3, -48 + .cfi_offset 6, -40 + .cfi_offset 12, -32 + .cfi_offset 13, -24 + .cfi_offset 14, -16 + movq 8, %rax + ud2 + .cfi_endproc +.LFE32: + .text + .size value_copy, .-value_copy + .section .text.unlikely + .size value_copy.cold, .-value_copy.cold +.LCOLDE1: + .text +.LHOTE1: + .p2align 4 + .globl array_copy + .type array_copy, @function +array_copy: +.LFB30: + .cfi_startproc + pushq %r13 + .cfi_def_cfa_offset 16 + .cfi_offset 13, -16 + movl $24, %esi + pushq %r12 + .cfi_def_cfa_offset 24 + .cfi_offset 12, -24 + pushq %rbp + .cfi_def_cfa_offset 32 + .cfi_offset 6, -32 + movq %rdi, %rbp + movl $1, %edi + pushq %rbx + .cfi_def_cfa_offset 40 + .cfi_offset 3, -40 + subq $24, %rsp + .cfi_def_cfa_offset 64 + call calloc@PLT + movdqu 8(%rbp), %xmm0 + movl $8, %esi + movq %rax, %r13 + movhlps %xmm0, %xmm1 + movups %xmm0, 8(%rax) + movq %xmm1, %rdi + movaps %xmm0, (%rsp) + call calloc@PLT + movdqa (%rsp), %xmm0 + movq %rax, 0(%r13) + movq %xmm0, %rdx + testq %rdx, %rdx + je .L54 + xorl %ebx, %ebx + jmp .L56 + .p2align 4,,10 + .p2align 3 +.L61: + movq 0(%r13), %rax +.L56: + leaq (%rax,%rbx,8), %r12 + movq 0(%rbp), %rax + movq (%rax,%rbx,8), %rdi + addq $1, %rbx + call value_copy + movq %rax, (%r12) + cmpq 8(%rbp), %rbx + jb .L61 +.L54: + addq $24, %rsp + .cfi_def_cfa_offset 40 + movq %r13, %rax + popq %rbx + .cfi_def_cfa_offset 32 + popq %rbp + .cfi_def_cfa_offset 24 + popq %r12 + .cfi_def_cfa_offset 16 + popq %r13 + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE30: + .size array_copy, .-array_copy + .p2align 4 + .globl value_free + .type value_free, @function +value_free: +.LFB33: + .cfi_startproc + pushq %r12 + .cfi_def_cfa_offset 16 + .cfi_offset 12, -16 + pushq %rbp + .cfi_def_cfa_offset 24 + .cfi_offset 6, -24 + pushq %rbx + .cfi_def_cfa_offset 32 + .cfi_offset 3, -32 + movl (%rdi), %eax + movq %rdi, %rbx + cmpl $3, %eax + je .L77 + testl %eax, %eax + je .L77 + cmpl $4, %eax + je .L86 +.L65: + cmpl $6, %eax + je .L87 +.L68: + movq %rbx, %rdi + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 24 + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + jmp free@PLT + .p2align 4,,10 + .p2align 3 +.L77: + .cfi_restore_state + movq 16(%rbx), %rdi + call string_free@PLT + movl (%rbx), %eax + cmpl $4, %eax + jne .L65 +.L86: + movq 16(%rbx), %r12 + xorl %ebp, %ebp + cmpq $0, 8(%r12) + je .L67 + .p2align 4,,10 + .p2align 3 +.L66: + movq (%r12), %rax + movq (%rax,%rbp,8), %rdi + addq $1, %rbp + call value_free + cmpq 8(%r12), %rbp + jb .L66 +.L67: + movq (%r12), %rdi + call free@PLT + movq %r12, %rdi + call free@PLT + movl (%rbx), %eax + cmpl $6, %eax + jne .L68 +.L87: + movq 16(%rbx), %rax + movq OBJ_TABLE(%rip), %rdi + movq 16(%rax), %rbp + movq (%rdi), %r8 + movl $5381, %eax + movsbq 0(%rbp), %rdx + leaq 1(%rbp), %rcx + testb %dl, %dl + je .L69 + .p2align 4,,10 + .p2align 3 +.L70: + movq %rax, %rsi + addq $1, %rcx + salq $5, %rsi + addq %rsi, %rax + addq %rdx, %rax + movsbq -1(%rcx), %rdx + testb %dl, %dl + jne .L70 +.L69: + xorl %edx, %edx + divq 8(%rdi) + movq (%r8,%rdx,8), %rax + movq (%rax), %r12 + testq %r12, %r12 + jne .L73 + .p2align 4,,10 + .p2align 3 +.L76: + xorl %eax, %eax + jmp .L71 + .p2align 4,,10 + .p2align 3 +.L72: + movq 16(%r12), %r12 + testq %r12, %r12 + je .L76 +.L73: + movq (%r12), %rax + movq %rbp, %rdi + movq 16(%rax), %rsi + call strcmp@PLT + testl %eax, %eax + jne .L72 + movq 8(%r12), %rax +.L71: + movq 32(%rbx), %rdi + call *%rax + movq %rbx, %rdi + popq %rbx + .cfi_def_cfa_offset 24 + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + jmp free@PLT + .cfi_endproc +.LFE33: + .size value_free, .-value_free + .p2align 4 + .globl array_free + .type array_free, @function +array_free: +.LFB29: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rdi, %rbp + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + subq $8, %rsp + .cfi_def_cfa_offset 32 + cmpq $0, 8(%rdi) + je .L89 + xorl %ebx, %ebx + .p2align 4,,10 + .p2align 3 +.L90: + movq 0(%rbp), %rax + movq (%rax,%rbx,8), %rdi + addq $1, %rbx + call value_free + cmpq 8(%rbp), %rbx + jb .L90 +.L89: + movq 0(%rbp), %rdi + call free@PLT + addq $8, %rsp + .cfi_def_cfa_offset 24 + movq %rbp, %rdi + popq %rbx + .cfi_def_cfa_offset 16 + popq %rbp + .cfi_def_cfa_offset 8 + jmp free@PLT + .cfi_endproc +.LFE29: + .size array_free, .-array_free + .p2align 4 + .globl init_custom + .type init_custom, @function +init_custom: +.LFB34: + .cfi_startproc + pushq %r12 + .cfi_def_cfa_offset 16 + .cfi_offset 12, -16 + movq %rdi, %r12 + movl $1, %edi + pushq %rbp + .cfi_def_cfa_offset 24 + .cfi_offset 6, -24 + movq %rsi, %rbp + movl $24, %esi + pushq %rbx + .cfi_def_cfa_offset 32 + .cfi_offset 3, -32 + movq %rdx, %rbx + call calloc@PLT + movq %r12, (%rax) + movq %rbp, 16(%rax) + movq %rbx, 8(%rax) + popq %rbx + .cfi_def_cfa_offset 24 + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE34: + .size init_custom, .-init_custom + .p2align 4 + .globl custom_free + .type custom_free, @function +custom_free: +.LFB35: + .cfi_startproc + jmp free@PLT + .cfi_endproc +.LFE35: + .size custom_free, .-custom_free + .p2align 4 + .globl init_parser + .type init_parser, @function +init_parser: +.LFB36: + .cfi_startproc + pushq %rbx + .cfi_def_cfa_offset 16 + .cfi_offset 3, -16 + movl $16, %esi + movq %rdi, %rbx + movl $1, %edi + call calloc@PLT + movzbl (%rbx), %edx + movq %rbx, (%rax) + movb %dl, 12(%rax) + popq %rbx + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE36: + .size init_parser, .-init_parser + .p2align 4 + .globl parser_reset + .type parser_reset, @function +parser_reset: +.LFB37: + .cfi_startproc + movq %rsi, (%rdi) + movl $0, 8(%rdi) + movzbl (%rsi), %eax + movb %al, 12(%rdi) + ret + .cfi_endproc +.LFE37: + .size parser_reset, .-parser_reset + .p2align 4 + .globl parser_move + .type parser_move, @function +parser_move: +.LFB38: + .cfi_startproc + pushq %r12 + .cfi_def_cfa_offset 16 + .cfi_offset 12, -16 + pushq %rbp + .cfi_def_cfa_offset 24 + .cfi_offset 6, -24 + pushq %rbx + .cfi_def_cfa_offset 32 + .cfi_offset 3, -32 + movq (%rdi), %r12 + movq %rdi, %rbx + movl 8(%rdi), %ebp + movq %r12, %rdi + call strlen@PLT + movslq %ebp, %rdx + cmpq %rax, %rdx + jnb .L99 + cmpb $0, 12(%rbx) + je .L99 + addl $1, %ebp + movl %ebp, 8(%rbx) + movslq %ebp, %rbp + movzbl (%r12,%rbp), %eax + movb %al, 12(%rbx) +.L99: + popq %rbx + .cfi_def_cfa_offset 24 + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE38: + .size parser_move, .-parser_move + .p2align 4 + .globl parser_skip_whitespace + .type parser_skip_whitespace, @function +parser_skip_whitespace: +.LFB39: + .cfi_startproc + pushq %r15 + .cfi_def_cfa_offset 16 + .cfi_offset 15, -16 + pushq %r14 + .cfi_def_cfa_offset 24 + .cfi_offset 14, -24 + pushq %r13 + .cfi_def_cfa_offset 32 + .cfi_offset 13, -32 + pushq %r12 + .cfi_def_cfa_offset 40 + .cfi_offset 12, -40 + pushq %rbp + .cfi_def_cfa_offset 48 + .cfi_offset 6, -48 + movq %rdi, %rbp + pushq %rbx + .cfi_def_cfa_offset 56 + .cfi_offset 3, -56 + subq $8, %rsp + .cfi_def_cfa_offset 64 + call __ctype_b_loc@PLT + movq (%rax), %r13 + movsbq 12(%rbp), %rax + testb $32, 1(%r13,%rax,2) + je .L102 + movq 0(%rbp), %r12 + movq %rax, %r14 +.L106: + movslq 8(%rbp), %r15 + movq %r15, %rbx +.L105: + movq %r12, %rdi + call strlen@PLT +.L108: + cmpq %rax, %r15 + jnb .L108 + testb %r14b, %r14b + je .L105 + addl $1, %ebx + movl %ebx, 8(%rbp) + movslq %ebx, %rbx + movsbq (%r12,%rbx), %rax + movb %al, 12(%rbp) + movq %rax, %r14 + testb $32, 1(%r13,%rax,2) + jne .L106 +.L102: + addq $8, %rsp + .cfi_def_cfa_offset 56 + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE39: + .size parser_skip_whitespace, .-parser_skip_whitespace + .p2align 4 + .globl parse_string + .type parse_string, @function +parse_string: +.LFB40: + .cfi_startproc + pushq %r15 + .cfi_def_cfa_offset 16 + .cfi_offset 15, -16 + movl $48, %esi + pushq %r14 + .cfi_def_cfa_offset 24 + .cfi_offset 14, -24 + pushq %r13 + .cfi_def_cfa_offset 32 + .cfi_offset 13, -32 + pushq %r12 + .cfi_def_cfa_offset 40 + .cfi_offset 12, -40 + pushq %rbp + .cfi_def_cfa_offset 48 + .cfi_offset 6, -48 + pushq %rbx + .cfi_def_cfa_offset 56 + .cfi_offset 3, -56 + movq %rdi, %rbx + movl $1, %edi + subq $8, %rsp + .cfi_def_cfa_offset 64 + call calloc@PLT + movq (%rbx), %r13 + movl 8(%rbx), %ebp + movl $3, (%rax) + movq %rax, %r12 + movb $0, 40(%rax) + movq %r13, %rdi + call strlen@PLT + movslq %ebp, %rdx + cmpq %rax, %rdx + jnb .L114 + cmpb $0, 12(%rbx) + jne .L152 +.L114: + xorl %edi, %edi + call init_string@PLT + movsbl 12(%rbx), %esi + movq %rax, %rbp + .p2align 4,,10 + .p2align 3 +.L115: + testb %sil, %sil + setne %r13b + cmpb $34, %sil + je .L133 +.L154: + testb %r13b, %r13b + je .L133 + cmpb $92, %sil + je .L153 + movq %rbp, %rdi + call string_append@PLT + movq (%rbx), %r13 + movl 8(%rbx), %r14d + movq %r13, %rdi + call strlen@PLT + movslq %r14d, %rdx + cmpq %rax, %rdx + jb .L127 + movsbl 12(%rbx), %esi + testb %sil, %sil + setne %r13b + cmpb $34, %sil + jne .L154 + .p2align 4,,10 + .p2align 3 +.L133: + movq (%rbx), %r15 + movl 8(%rbx), %r14d + movq %r15, %rdi + call strlen@PLT + movslq %r14d, %rdx + cmpq %rax, %rdx + jnb .L132 + testb %r13b, %r13b + jne .L155 +.L132: + movq %rbp, 16(%r12) + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 56 + movq %r12, %rax + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L127: + .cfi_restore_state + xorl %esi, %esi + cmpb $0, 12(%rbx) + je .L115 +.L151: + addl $1, %r14d + movl %r14d, 8(%rbx) + movslq %r14d, %r14 + movsbl 0(%r13,%r14), %esi + movb %sil, 12(%rbx) + jmp .L115 + .p2align 4,,10 + .p2align 3 +.L153: + movq (%rbx), %r13 +.L128: + movl 8(%rbx), %r14d + movq %r13, %rdi + call strlen@PLT + movslq %r14d, %rdx + cmpq %rax, %rdx + jnb .L128 + addl $1, %r14d + movl %r14d, 8(%rbx) + movslq %r14d, %r14 + movsbl 0(%r13,%r14), %esi + movb %sil, 12(%rbx) + cmpb $92, %sil + je .L128 + cmpb $114, %sil + je .L118 + jg .L119 + cmpb $34, %sil + je .L120 + cmpb $110, %sil + jne .L122 + movl $10, %esi + movq %rbp, %rdi + call string_append@PLT +.L124: + movq (%rbx), %r13 + movl 8(%rbx), %r14d + movq %r13, %rdi + call strlen@PLT + movslq %r14d, %rdx + movsbl 12(%rbx), %esi + cmpq %rax, %rdx + jnb .L115 + testb %sil, %sil + je .L115 + jmp .L151 + .p2align 4,,10 + .p2align 3 +.L119: + cmpb $116, %sil + jne .L122 + movl $9, %esi + movq %rbp, %rdi + call string_append@PLT + jmp .L124 + .p2align 4,,10 + .p2align 3 +.L118: + movl $13, %esi + movq %rbp, %rdi + call string_append@PLT + jmp .L124 + .p2align 4,,10 + .p2align 3 +.L122: + movq %rbp, %rdi + call string_append@PLT + jmp .L124 + .p2align 4,,10 + .p2align 3 +.L120: + movl $34, %esi + movq %rbp, %rdi + call string_append@PLT + jmp .L124 + .p2align 4,,10 + .p2align 3 +.L155: + addl $1, %r14d + movl %r14d, 8(%rbx) + movslq %r14d, %r14 + movzbl (%r15,%r14), %eax + movb %al, 12(%rbx) + jmp .L132 + .p2align 4,,10 + .p2align 3 +.L152: + addl $1, %ebp + movl %ebp, 8(%rbx) + movslq %ebp, %rbp + movzbl 0(%r13,%rbp), %eax + movb %al, 12(%rbx) + jmp .L114 + .cfi_endproc +.LFE40: + .size parse_string, .-parse_string + .p2align 4 + .globl parser_error + .type parser_error, @function +parser_error: +.LFB42: + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + movl $1, %edi + call exit@PLT + .cfi_endproc +.LFE42: + .size parser_error, .-parser_error + .p2align 4 + .globl parse_word + .type parse_word, @function +parse_word: +.LFB43: + .cfi_startproc + pushq %r15 + .cfi_def_cfa_offset 16 + .cfi_offset 15, -16 + movl $48, %esi + pushq %r14 + .cfi_def_cfa_offset 24 + .cfi_offset 14, -24 + pushq %r13 + .cfi_def_cfa_offset 32 + .cfi_offset 13, -32 + pushq %r12 + .cfi_def_cfa_offset 40 + .cfi_offset 12, -40 + pushq %rbp + .cfi_def_cfa_offset 48 + .cfi_offset 6, -48 + movq %rdi, %rbp + movl $1, %edi + pushq %rbx + .cfi_def_cfa_offset 56 + .cfi_offset 3, -56 + subq $8, %rsp + .cfi_def_cfa_offset 64 + call calloc@PLT + xorl %edi, %edi + movq %rax, %r13 + call init_string@PLT + movzbl 12(%rbp), %ebx + movq %rax, %r12 + cmpb $92, %bl + je .L159 + call __ctype_b_loc@PLT + movq %rax, %r15 + movsbq %bl, %rax + movq (%r15), %rdx + testb $32, 1(%rdx,%rax,2) + je .L181 + jmp .L162 + .p2align 4,,10 + .p2align 3 +.L182: + movzbl 12(%rbp), %ebx +.L166: + movq (%r15), %rdx + movsbq %bl, %rax + testb $32, 1(%rdx,%rax,2) + jne .L162 +.L181: + testb %bl, %bl + je .L162 +.L167: + movsbl %bl, %esi + movq %r12, %rdi + call string_append@PLT + movq 0(%rbp), %r14 + movl 8(%rbp), %ebx + movq %r14, %rdi + call strlen@PLT + movslq %ebx, %rdx + cmpq %rax, %rdx + jnb .L182 + cmpb $0, 12(%rbp) + jne .L183 +.L162: + movq %r12, 16(%r13) + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 56 + movq %r13, %rax + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L183: + .cfi_restore_state + addl $1, %ebx + movl %ebx, 8(%rbp) + movslq %ebx, %rbx + movzbl (%r14,%rbx), %ebx + movb %bl, 12(%rbp) + jmp .L166 + .p2align 4,,10 + .p2align 3 +.L159: + movq 0(%rbp), %r15 + movl 8(%rbp), %r14d + movb $1, 40(%r13) + movq %r15, %rdi + call strlen@PLT + movslq %r14d, %rdx + cmpq %rax, %rdx + jb .L184 +.L163: + call __ctype_b_loc@PLT + movq %rax, %r15 + movsbq %bl, %rax + movq (%r15), %rdx + testb $32, 1(%rdx,%rax,2) + jne .L169 + testb %bl, %bl + jne .L167 +.L169: + movl $1, %edi + call exit@PLT + .p2align 4,,10 + .p2align 3 +.L184: + addl $1, %r14d + movl %r14d, 8(%rbp) + movslq %r14d, %r14 + movzbl (%r15,%r14), %ebx + movb %bl, 12(%rbp) + jmp .L163 + .cfi_endproc +.LFE43: + .size parse_word, .-parse_word + .p2align 4 + .globl parse_num + .type parse_num, @function +parse_num: +.LFB44: + .cfi_startproc + pushq %r15 + .cfi_def_cfa_offset 16 + .cfi_offset 15, -16 + xorl %r15d, %r15d + pushq %r14 + .cfi_def_cfa_offset 24 + .cfi_offset 14, -24 + pushq %r13 + .cfi_def_cfa_offset 32 + .cfi_offset 13, -32 + pushq %r12 + .cfi_def_cfa_offset 40 + .cfi_offset 12, -40 + pushq %rbp + .cfi_def_cfa_offset 48 + .cfi_offset 6, -48 + pushq %rbx + .cfi_def_cfa_offset 56 + .cfi_offset 3, -56 + movq %rdi, %rbx + xorl %edi, %edi + subq $24, %rsp + .cfi_def_cfa_offset 80 + call init_string@PLT + movq %rax, %r12 + call __ctype_b_loc@PLT + movq %rax, %r13 + .p2align 4,,10 + .p2align 3 +.L186: + movsbl 12(%rbx), %esi + movq 0(%r13), %rax + movsbq %sil, %rcx + testb $8, 1(%rax,%rcx,2) + jne .L189 + cmpb $46, %sil + jne .L190 + testb %r15b, %r15b + jne .L191 + movl $1, %r15d +.L187: + movq %r12, %rdi + call string_append@PLT + movq (%rbx), %r14 + movl 8(%rbx), %ebp + movq %r14, %rdi + call strlen@PLT + movslq %ebp, %rcx + cmpq %rax, %rcx + jnb .L186 + cmpb $0, 12(%rbx) + je .L186 + addl $1, %ebp + movl %ebp, 8(%rbx) + movslq %ebp, %rbp + movzbl (%r14,%rbp), %eax + movb %al, 12(%rbx) + jmp .L186 + .p2align 4,,10 + .p2align 3 +.L189: + cmpb $46, %sil + movl $1, %eax + cmove %eax, %r15d + jmp .L187 + .p2align 4,,10 + .p2align 3 +.L190: + testb %r15b, %r15b + jne .L191 + movl $48, %esi + movl $1, %edi + call calloc@PLT + movl $1, (%rax) + movq %rax, %rbx + movb $0, 40(%rax) +.L193: + movq 16(%r12), %rdi + xorl %esi, %esi + call strtod@PLT + movq %r12, %rdi + movsd %xmm0, 8(%rsp) + fldl 8(%rsp) + fstpt 16(%rbx) + call string_free@PLT + addq $24, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 56 + movq %rbx, %rax + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L191: + .cfi_restore_state + movl $48, %esi + movl $1, %edi + call calloc@PLT + movl $2, (%rax) + movq %rax, %rbx + movb $0, 40(%rax) + jmp .L193 + .cfi_endproc +.LFE44: + .size parse_num, .-parse_num + .p2align 4 + .globl parser_get_next + .type parser_get_next, @function +parser_get_next: +.LFB45: + .cfi_startproc + pushq %r15 + .cfi_def_cfa_offset 16 + .cfi_offset 15, -16 + pushq %r14 + .cfi_def_cfa_offset 24 + .cfi_offset 14, -24 + pushq %r13 + .cfi_def_cfa_offset 32 + .cfi_offset 13, -32 + pushq %r12 + .cfi_def_cfa_offset 40 + .cfi_offset 12, -40 + pushq %rbp + .cfi_def_cfa_offset 48 + .cfi_offset 6, -48 + movq %rdi, %rbp + pushq %rbx + .cfi_def_cfa_offset 56 + .cfi_offset 3, -56 + subq $8, %rsp + .cfi_def_cfa_offset 64 + call __ctype_b_loc@PLT + movq (%rax), %r13 + movsbq 12(%rbp), %rax + movq %rax, %r14 + movzwl 0(%r13,%rax,2), %eax + testb $32, %ah + je .L198 + movq 0(%rbp), %r12 +.L200: + movslq 8(%rbp), %r15 + movq %r15, %rbx +.L199: + movq %r12, %rdi + call strlen@PLT +.L204: + cmpq %rax, %r15 + jnb .L204 + testb %r14b, %r14b + je .L199 + addl $1, %ebx + movl %ebx, 8(%rbp) + movslq %ebx, %rbx + movsbq (%r12,%rbx), %rax + movb %al, 12(%rbp) + movq %rax, %r14 + movzwl 0(%r13,%rax,2), %eax + testb $32, %ah + jne .L200 +.L198: + testb $8, %ah + jne .L215 + cmpb $34, %r14b + je .L205 + cmpb $91, %r14b + je .L206 + testb %r14b, %r14b + je .L207 + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 56 + movq %rbp, %rdi + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + jmp parse_word + .p2align 4,,10 + .p2align 3 +.L215: + .cfi_restore_state + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 56 + movq %rbp, %rdi + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + jmp parse_num + .p2align 4,,10 + .p2align 3 +.L207: + .cfi_restore_state + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 56 + xorl %eax, %eax + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L206: + .cfi_restore_state + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 56 + movq %rbp, %rdi + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + jmp parse_quote + .p2align 4,,10 + .p2align 3 +.L205: + .cfi_restore_state + addq $8, %rsp + .cfi_def_cfa_offset 56 + movq %rbp, %rdi + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + jmp parse_string + .cfi_endproc +.LFE45: + .size parser_get_next, .-parser_get_next + .p2align 4 + .globl parse_quote + .type parse_quote, @function +parse_quote: +.LFB41: + .cfi_startproc + pushq %r15 + .cfi_def_cfa_offset 16 + .cfi_offset 15, -16 + movl $48, %esi + pushq %r14 + .cfi_def_cfa_offset 24 + .cfi_offset 14, -24 + pushq %r13 + .cfi_def_cfa_offset 32 + .cfi_offset 13, -32 + pushq %r12 + .cfi_def_cfa_offset 40 + .cfi_offset 12, -40 + pushq %rbp + .cfi_def_cfa_offset 48 + .cfi_offset 6, -48 + movq %rdi, %rbp + movl $1, %edi + pushq %rbx + .cfi_def_cfa_offset 56 + .cfi_offset 3, -56 + subq $24, %rsp + .cfi_def_cfa_offset 80 + call calloc@PLT + movl $24, %esi + movl $1, %edi + movl $4, (%rax) + movq %rax, %r14 + movb $0, 40(%rax) + movq %rax, (%rsp) + call calloc@PLT + movl $8, %esi + movl $10, %edi + movq $10, 16(%rax) + movq %rax, %rbx + call calloc@PLT + movq %rbx, 16(%r14) + movq 0(%rbp), %r12 + movq %rax, (%rbx) + movl 8(%rbp), %ebx + movq %r12, %rdi + call strlen@PLT + movslq %ebx, %rdx + movzbl 12(%rbp), %r13d + cmpq %rax, %rdx + jnb .L218 + testb %r13b, %r13b + je .L219 + addl $1, %ebx + movl %ebx, 8(%rbp) + movslq %ebx, %rbx + movzbl (%r12,%rbx), %r13d + movb %r13b, 12(%rbp) +.L218: + call __ctype_b_loc@PLT + movq (%rax), %r15 + movq %rax, 8(%rsp) + movsbq %r13b, %rax + testb $32, 1(%r15,%rax,2) + je .L221 + movl 8(%rbp), %ebx +.L223: + movslq %ebx, %r14 +.L222: + movq %r12, %rdi + call strlen@PLT +.L227: + cmpq %rax, %r14 + jnb .L227 + testb %r13b, %r13b + je .L222 + addl $1, %ebx + movslq %ebx, %rax + movl %ebx, 8(%rbp) + movsbq (%r12,%rax), %rax + movb %al, 12(%rbp) + movq %rax, %r13 + testb $32, 1(%r15,%rax,2) + jne .L223 +.L221: + cmpb $93, %r13b + je .L225 + .p2align 4,,10 + .p2align 3 +.L234: + movq %rbp, %rdi + call parser_get_next + movq %rax, %r12 + movq (%rsp), %rax + movq 16(%rax), %rbx + movq 16(%rbx), %rsi + movq 8(%rbx), %rdx + leaq -2(%rsi), %rax + cmpq %rax, %rdx + jnb .L228 + movq (%rbx), %rax +.L229: + movq %r12, (%rax,%rdx,8) + movq 8(%rsp), %rax + addq $1, %rdx + movq %rdx, 8(%rbx) + movq (%rax), %r13 + movsbq 12(%rbp), %rax + movq %rax, %r15 + testb $32, 1(%r13,%rax,2) + je .L231 + movq 0(%rbp), %r12 +.L233: + movslq 8(%rbp), %r14 + movq %r14, %rbx +.L232: + movq %r12, %rdi + call strlen@PLT +.L237: + cmpq %rax, %r14 + jnb .L237 + testb %r15b, %r15b + je .L232 + addl $1, %ebx + movl %ebx, 8(%rbp) + movslq %ebx, %rbx + movsbq (%r12,%rbx), %rax + movb %al, 12(%rbp) + movq %rax, %r15 + testb $32, 1(%r13,%rax,2) + jne .L233 +.L231: + cmpb $93, %r15b + jne .L234 + movq 0(%rbp), %r12 +.L225: + movl 8(%rbp), %ebx + movq %r12, %rdi + call strlen@PLT + movslq %ebx, %rdx + cmpq %rax, %rdx + jnb .L216 + addl $1, %ebx + movl %ebx, 8(%rbp) + movslq %ebx, %rbx + movzbl (%r12,%rbx), %eax + movb %al, 12(%rbp) +.L216: + movq (%rsp), %rax + addq $24, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 56 + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L228: + .cfi_restore_state + leaq (%rsi,%rsi), %rax + movq (%rbx), %rdi + salq $4, %rsi + movq %rax, 16(%rbx) + call realloc@PLT + movq 8(%rbx), %rdx + movq %rax, (%rbx) + jmp .L229 +.L219: + call __ctype_b_loc@PLT + movq (%rax), %r15 + movq %rax, 8(%rsp) + testw $8192, (%r15) + jne .L223 + jmp .L234 + .cfi_endproc +.LFE41: + .size parse_quote, .-parse_quote + .p2align 4 + .globl init_node + .type init_node, @function +init_node: +.LFB46: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rdi, %rbp + movl $1, %edi + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + movq %rsi, %rbx + movl $24, %esi + subq $8, %rsp + .cfi_def_cfa_offset 32 + call calloc@PLT + movq %rbp, (%rax) + movq %rbx, 8(%rax) + movq $0, 16(%rax) + addq $8, %rsp + .cfi_def_cfa_offset 24 + popq %rbx + .cfi_def_cfa_offset 16 + popq %rbp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE46: + .size init_node, .-init_node + .p2align 4 + .globl node_free + .type node_free, @function +node_free: +.LFB47: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsi, %rbp + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + movq %rdi, %rbx + subq $8, %rsp + .cfi_def_cfa_offset 32 + movq (%rdi), %rdi + call string_free@PLT + movq 8(%rbx), %rdi + call *%rbp + addq $8, %rsp + .cfi_def_cfa_offset 24 + movq %rbx, %rdi + popq %rbx + .cfi_def_cfa_offset 16 + popq %rbp + .cfi_def_cfa_offset 8 + jmp free@PLT + .cfi_endproc +.LFE47: + .size node_free, .-node_free + .p2align 4 + .globl init_sll + .type init_sll, @function +init_sll: +.LFB48: + .cfi_startproc + movl $16, %esi + movl $1, %edi + jmp calloc@PLT + .cfi_endproc +.LFE48: + .size init_sll, .-init_sll + .p2align 4 + .globl sll_add + .type sll_add, @function +sll_add: +.LFB49: + .cfi_startproc + pushq %r14 + .cfi_def_cfa_offset 16 + .cfi_offset 14, -16 + pushq %r13 + .cfi_def_cfa_offset 24 + .cfi_offset 13, -24 + movq %rdx, %r13 + pushq %r12 + .cfi_def_cfa_offset 32 + .cfi_offset 12, -32 + movq %rsi, %r12 + pushq %rbp + .cfi_def_cfa_offset 40 + .cfi_offset 6, -40 + pushq %rbx + .cfi_def_cfa_offset 48 + .cfi_offset 3, -48 + movq (%rdi), %rbx + testq %rbx, %rbx + je .L263 + movq 16(%rsi), %rbp + jmp .L257 + .p2align 4,,10 + .p2align 3 +.L258: + testl %eax, %eax + je .L262 +.L257: + movq %rbx, %r14 + movq 16(%rbx), %rbx + movq %rbp, %rdi + movq (%r14), %rax + movq 16(%rax), %rsi + call strcmp@PLT + testq %rbx, %rbx + jne .L258 + testl %eax, %eax + je .L262 + movl $24, %esi + movl $1, %edi + call calloc@PLT + movq %r12, (%rax) + movq %r13, 8(%rax) + movq $0, 16(%rax) + movq %rax, 16(%r14) + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 40 + popq %rbp + .cfi_def_cfa_offset 32 + popq %r12 + .cfi_def_cfa_offset 24 + popq %r13 + .cfi_def_cfa_offset 16 + popq %r14 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L262: + .cfi_restore_state + movq 8(%r14), %rdi + call value_free + movq %r12, %rdi + call string_free@PLT + movq %r13, 8(%r14) +.L254: + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 40 + popq %rbp + .cfi_def_cfa_offset 32 + popq %r12 + .cfi_def_cfa_offset 24 + popq %r13 + .cfi_def_cfa_offset 16 + popq %r14 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L263: + .cfi_restore_state + movq %rdi, %rbp + movl $24, %esi + movl $1, %edi + call calloc@PLT + addq $1, 8(%rbp) + movq %r12, (%rax) + movq %r13, 8(%rax) + movq $0, 16(%rax) + movq %rax, 0(%rbp) + jmp .L254 + .cfi_endproc +.LFE49: + .size sll_add, .-sll_add + .p2align 4 + .globl sll_add_func + .type sll_add_func, @function +sll_add_func: +.LFB50: + .cfi_startproc + pushq %r14 + .cfi_def_cfa_offset 16 + .cfi_offset 14, -16 + pushq %r13 + .cfi_def_cfa_offset 24 + .cfi_offset 13, -24 + movq %rdx, %r13 + pushq %r12 + .cfi_def_cfa_offset 32 + .cfi_offset 12, -32 + movq %rsi, %r12 + pushq %rbp + .cfi_def_cfa_offset 40 + .cfi_offset 6, -40 + pushq %rbx + .cfi_def_cfa_offset 48 + .cfi_offset 3, -48 + movq (%rdi), %rbx + testq %rbx, %rbx + je .L273 + movq 16(%rsi), %rbp + jmp .L267 + .p2align 4,,10 + .p2align 3 +.L268: + testl %eax, %eax + je .L272 +.L267: + movq %rbx, %r14 + movq 16(%rbx), %rbx + movq %rbp, %rdi + movq (%r14), %rax + movq 16(%rax), %rsi + call strcmp@PLT + testq %rbx, %rbx + jne .L268 + testl %eax, %eax + je .L272 + movl $24, %esi + movl $1, %edi + call calloc@PLT + movq %r12, (%rax) + movq %r13, 8(%rax) + movq $0, 16(%rax) + movq %rax, 16(%r14) + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 40 + popq %rbp + .cfi_def_cfa_offset 32 + popq %r12 + .cfi_def_cfa_offset 24 + popq %r13 + .cfi_def_cfa_offset 16 + popq %r14 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L272: + .cfi_restore_state + movq %r12, %rdi + call string_free@PLT + movq %r13, 8(%r14) +.L264: + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 40 + popq %rbp + .cfi_def_cfa_offset 32 + popq %r12 + .cfi_def_cfa_offset 24 + popq %r13 + .cfi_def_cfa_offset 16 + popq %r14 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L273: + .cfi_restore_state + movq %rdi, %rbp + movl $24, %esi + movl $1, %edi + call calloc@PLT + addq $1, 8(%rbp) + movq %r12, (%rax) + movq %r13, 8(%rax) + movq $0, 16(%rax) + movq %rax, 0(%rbp) + jmp .L264 + .cfi_endproc +.LFE50: + .size sll_add_func, .-sll_add_func + .p2align 4 + .globl sll_get + .type sll_get, @function +sll_get: +.LFB51: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + subq $8, %rsp + .cfi_def_cfa_offset 32 + movq (%rdi), %rbx + testq %rbx, %rbx + je .L274 + movq 16(%rsi), %rbp + jmp .L277 + .p2align 4,,10 + .p2align 3 +.L276: + movq 16(%rbx), %rbx + testq %rbx, %rbx + je .L274 +.L277: + movq (%rbx), %rax + movq %rbp, %rdi + movq 16(%rax), %rsi + call strcmp@PLT + testl %eax, %eax + jne .L276 + movq 8(%rbx), %rbx +.L274: + addq $8, %rsp + .cfi_def_cfa_offset 24 + movq %rbx, %rax + popq %rbx + .cfi_def_cfa_offset 16 + popq %rbp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE51: + .size sll_get, .-sll_get + .p2align 4 + .globl sll_free + .type sll_free, @function +sll_free: +.LFB52: + .cfi_startproc + pushq %r13 + .cfi_def_cfa_offset 16 + .cfi_offset 13, -16 + movq %rdi, %r13 + pushq %r12 + .cfi_def_cfa_offset 24 + .cfi_offset 12, -24 + pushq %rbp + .cfi_def_cfa_offset 32 + .cfi_offset 6, -32 + pushq %rbx + .cfi_def_cfa_offset 40 + .cfi_offset 3, -40 + subq $8, %rsp + .cfi_def_cfa_offset 48 + movq (%rdi), %rbx + testq %rbx, %rbx + je .L284 + movq %rsi, %r12 + .p2align 4,,10 + .p2align 3 +.L285: + movq %rbx, %rbp + movq 16(%rbx), %rbx + movq 0(%rbp), %rdi + call string_free@PLT + movq 8(%rbp), %rdi + call *%r12 + movq %rbp, %rdi + call free@PLT + testq %rbx, %rbx + jne .L285 +.L284: + addq $8, %rsp + .cfi_def_cfa_offset 40 + movq %r13, %rdi + popq %rbx + .cfi_def_cfa_offset 32 + popq %rbp + .cfi_def_cfa_offset 24 + popq %r12 + .cfi_def_cfa_offset 16 + popq %r13 + .cfi_def_cfa_offset 8 + jmp free@PLT + .cfi_endproc +.LFE52: + .size sll_free, .-sll_free + .p2align 4 + .globl init_ht + .type init_ht, @function +init_ht: +.LFB53: + .cfi_startproc + pushq %r12 + .cfi_def_cfa_offset 16 + .cfi_offset 12, -16 + movl $16, %esi + pushq %rbp + .cfi_def_cfa_offset 24 + .cfi_offset 6, -24 + movq %rdi, %rbp + movl $1, %edi + pushq %rbx + .cfi_def_cfa_offset 32 + .cfi_offset 3, -32 + call calloc@PLT + movl $8, %esi + movq %rbp, %rdi + movq %rbp, 8(%rax) + movq %rax, %r12 + call calloc@PLT + movq %rax, (%r12) + testq %rbp, %rbp + je .L291 + movq %rax, %rbx + leaq (%rax,%rbp,8), %rbp + .p2align 4,,10 + .p2align 3 +.L293: + movl $16, %esi + movl $1, %edi + addq $8, %rbx + call calloc@PLT + movq %rax, -8(%rbx) + cmpq %rbp, %rbx + jne .L293 +.L291: + movq %r12, %rax + popq %rbx + .cfi_def_cfa_offset 24 + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE53: + .size init_ht, .-init_ht + .p2align 4 + .globl ht_add + .type ht_add, @function +ht_add: +.LFB54: + .cfi_startproc + movq 16(%rsi), %rax + movq %rdx, %r9 + movq (%rdi), %r10 + movq %rsi, %r8 + movsbq (%rax), %rdx + leaq 1(%rax), %rcx + movl $5381, %eax + testb %dl, %dl + je .L300 + .p2align 4,,10 + .p2align 3 +.L301: + movq %rax, %rsi + addq $1, %rcx + salq $5, %rsi + addq %rsi, %rax + addq %rdx, %rax + movsbq -1(%rcx), %rdx + testb %dl, %dl + jne .L301 +.L300: + xorl %edx, %edx + movq %r8, %rsi + divq 8(%rdi) + movq (%r10,%rdx,8), %rdi + movq %r9, %rdx + jmp sll_add + .cfi_endproc +.LFE54: + .size ht_add, .-ht_add + .p2align 4 + .globl ht_add_func + .type ht_add_func, @function +ht_add_func: +.LFB55: + .cfi_startproc + movq 16(%rsi), %rax + movq %rdx, %r9 + movq (%rdi), %r10 + movq %rsi, %r8 + movsbq (%rax), %rdx + leaq 1(%rax), %rcx + movl $5381, %eax + testb %dl, %dl + je .L305 + .p2align 4,,10 + .p2align 3 +.L306: + movq %rax, %rsi + addq $1, %rcx + salq $5, %rsi + addq %rsi, %rax + addq %rdx, %rax + movsbq -1(%rcx), %rdx + testb %dl, %dl + jne .L306 +.L305: + xorl %edx, %edx + movq %r8, %rsi + divq 8(%rdi) + movq (%r10,%rdx,8), %rdi + movq %r9, %rdx + jmp sll_add_func + .cfi_endproc +.LFE55: + .size ht_add_func, .-ht_add_func + .p2align 4 + .globl ht_get + .type ht_get, @function +ht_get: +.LFB56: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + subq $8, %rsp + .cfi_def_cfa_offset 32 + movq 16(%rsi), %rbx + movq (%rdi), %r8 + movsbq (%rbx), %rdx + testb %dl, %dl + je .L315 + leaq 1(%rbx), %rcx + movl $5381, %eax + .p2align 4,,10 + .p2align 3 +.L311: + movq %rax, %rsi + addq $1, %rcx + salq $5, %rsi + addq %rsi, %rax + addq %rdx, %rax + movsbq -1(%rcx), %rdx + testb %dl, %dl + jne .L311 +.L310: + xorl %edx, %edx + divq 8(%rdi) + movq (%r8,%rdx,8), %rax + movq (%rax), %rbp + testq %rbp, %rbp + jne .L314 + jmp .L309 + .p2align 4,,10 + .p2align 3 +.L313: + movq 16(%rbp), %rbp + testq %rbp, %rbp + je .L309 +.L314: + movq 0(%rbp), %rax + movq %rbx, %rdi + movq 16(%rax), %rsi + call strcmp@PLT + testl %eax, %eax + jne .L313 + movq 8(%rbp), %rbp +.L309: + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 24 + movq %rbp, %rax + popq %rbx + .cfi_def_cfa_offset 16 + popq %rbp + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L315: + .cfi_restore_state + movl $5381, %eax + jmp .L310 + .cfi_endproc +.LFE56: + .size ht_get, .-ht_get + .p2align 4 + .globl ht_exists + .type ht_exists, @function +ht_exists: +.LFB57: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + subq $8, %rsp + .cfi_def_cfa_offset 32 + movq 16(%rsi), %rbx + movq (%rdi), %r8 + movsbq (%rbx), %rdx + testb %dl, %dl + je .L328 + leaq 1(%rbx), %rcx + movl $5381, %eax + .p2align 4,,10 + .p2align 3 +.L324: + movq %rax, %rsi + addq $1, %rcx + salq $5, %rsi + addq %rsi, %rax + addq %rdx, %rax + movsbq -1(%rcx), %rdx + testb %dl, %dl + jne .L324 +.L323: + xorl %edx, %edx + divq 8(%rdi) + movq (%r8,%rdx,8), %rax + movq (%rax), %rbp + testq %rbp, %rbp + jne .L327 + jmp .L329 + .p2align 4,,10 + .p2align 3 +.L326: + movq 16(%rbp), %rbp + testq %rbp, %rbp + je .L329 +.L327: + movq 0(%rbp), %rax + movq %rbx, %rdi + movq 16(%rax), %rsi + call strcmp@PLT + testl %eax, %eax + jne .L326 + cmpq $0, 8(%rbp) + setne %al + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 24 + popq %rbx + .cfi_def_cfa_offset 16 + popq %rbp + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L329: + .cfi_restore_state + addq $8, %rsp + .cfi_remember_state + .cfi_def_cfa_offset 24 + xorl %eax, %eax + popq %rbx + .cfi_def_cfa_offset 16 + popq %rbp + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L328: + .cfi_restore_state + movl $5381, %eax + jmp .L323 + .cfi_endproc +.LFE57: + .size ht_exists, .-ht_exists + .p2align 4 + .globl ht_free + .type ht_free, @function +ht_free: +.LFB58: + .cfi_startproc + pushq %r15 + .cfi_def_cfa_offset 16 + .cfi_offset 15, -16 + movq %rdi, %r15 + pushq %r14 + .cfi_def_cfa_offset 24 + .cfi_offset 14, -24 + pushq %r13 + .cfi_def_cfa_offset 32 + .cfi_offset 13, -32 + pushq %r12 + .cfi_def_cfa_offset 40 + .cfi_offset 12, -40 + pushq %rbp + .cfi_def_cfa_offset 48 + .cfi_offset 6, -48 + pushq %rbx + .cfi_def_cfa_offset 56 + .cfi_offset 3, -56 + subq $8, %rsp + .cfi_def_cfa_offset 64 + cmpq $0, 8(%rdi) + je .L334 + movq %rsi, %r12 + xorl %r13d, %r13d + .p2align 4,,10 + .p2align 3 +.L337: + movq (%r15), %rax + movq (%rax,%r13,8), %r14 + movq (%r14), %rbx + testq %rbx, %rbx + je .L335 + .p2align 4,,10 + .p2align 3 +.L336: + movq %rbx, %rbp + movq 16(%rbx), %rbx + movq 0(%rbp), %rdi + call string_free@PLT + movq 8(%rbp), %rdi + call *%r12 + movq %rbp, %rdi + call free@PLT + testq %rbx, %rbx + jne .L336 +.L335: + movq %r14, %rdi + addq $1, %r13 + call free@PLT + cmpq 8(%r15), %r13 + jb .L337 +.L334: + movq (%r15), %rdi + call free@PLT + addq $8, %rsp + .cfi_def_cfa_offset 56 + movq %r15, %rdi + popq %rbx + .cfi_def_cfa_offset 48 + popq %rbp + .cfi_def_cfa_offset 40 + popq %r12 + .cfi_def_cfa_offset 32 + popq %r13 + .cfi_def_cfa_offset 24 + popq %r14 + .cfi_def_cfa_offset 16 + popq %r15 + .cfi_def_cfa_offset 8 + jmp free@PLT + .cfi_endproc +.LFE58: + .size ht_free, .-ht_free + .p2align 4 + .globl hash + .type hash, @function +hash: +.LFB59: + .cfi_startproc + movsbq (%rsi), %rdx + leaq 1(%rsi), %rcx + movl $5381, %eax + testb %dl, %dl + je .L345 + .p2align 4,,10 + .p2align 3 +.L346: + movq %rax, %rsi + addq $1, %rcx + salq $5, %rsi + addq %rsi, %rax + addq %rdx, %rax + movsbq -1(%rcx), %rdx + testb %dl, %dl + jne .L346 +.L345: + xorl %edx, %edx + divq 8(%rdi) + movq %rdx, %rax + ret + .cfi_endproc +.LFE59: + .size hash, .-hash + .p2align 4 + .globl eval_builtins + .type eval_builtins, @function +eval_builtins: +.LFB61: + .cfi_startproc + pushq %r12 + .cfi_def_cfa_offset 16 + .cfi_offset 12, -16 + pushq %rbp + .cfi_def_cfa_offset 24 + .cfi_offset 6, -24 + movq %rdi, %rbp + movq FLIT(%rip), %rdi + pushq %rbx + .cfi_def_cfa_offset 32 + .cfi_offset 3, -32 + movq 16(%rbp), %rax + movq (%rdi), %r8 + movq 16(%rax), %rbx + movsbq (%rbx), %rdx + testb %dl, %dl + je .L358 + leaq 1(%rbx), %rcx + movl $5381, %eax + .p2align 4,,10 + .p2align 3 +.L351: + movq %rax, %rsi + addq $1, %rcx + salq $5, %rsi + addq %rsi, %rax + addq %rdx, %rax + movsbq -1(%rcx), %rdx + testb %dl, %dl + jne .L351 +.L350: + xorl %edx, %edx + divq 8(%rdi) + movq (%r8,%rdx,8), %rax + movq (%rax), %r12 + testq %r12, %r12 + jne .L355 + jmp .L360 + .p2align 4,,10 + .p2align 3 +.L353: + movq 16(%r12), %r12 + testq %r12, %r12 + je .L360 +.L355: + movq (%r12), %rax + movq %rbx, %rdi + movq 16(%rax), %rsi + call strcmp@PLT + testl %eax, %eax + jne .L353 + movq 8(%r12), %r12 + testq %r12, %r12 + je .L360 + movq EVAL_STACK(%rip), %rbx + movq 16(%rbx), %rsi + movq 8(%rbx), %rdx + movq (%rbx), %rdi + leaq -2(%rsi), %rax + cmpq %rax, %rdx + jnb .L368 +.L356: + movq %rbp, (%rdi,%rdx,8) + addq $1, %rdx + movq %rbp, %rdi + movq %rdx, 8(%rbx) + call *%r12 + movq EVAL_STACK(%rip), %rdx + movq 8(%rdx), %rax + testq %rax, %rax + je .L357 + subq $1, %rax + movq %rax, 8(%rdx) +.L357: + movq %rbp, %rdi + call value_free + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 24 + movl $1, %eax + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L360: + .cfi_restore_state + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 24 + xorl %eax, %eax + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L368: + .cfi_restore_state + leaq (%rsi,%rsi), %rax + salq $4, %rsi + movq %rax, 16(%rbx) + call realloc@PLT + movq 8(%rbx), %rdx + movq %rax, (%rbx) + movq %rax, %rdi + jmp .L356 + .p2align 4,,10 + .p2align 3 +.L358: + movl $5381, %eax + jmp .L350 + .cfi_endproc +.LFE61: + .size eval_builtins, .-eval_builtins + .p2align 4 + .globl eval + .type eval, @function +eval: +.LFB62: + .cfi_startproc + pushq %r12 + .cfi_def_cfa_offset 16 + .cfi_offset 12, -16 + movq %rdi, %r12 + pushq %rbp + .cfi_def_cfa_offset 24 + .cfi_offset 6, -24 + pushq %rbx + .cfi_def_cfa_offset 32 + .cfi_offset 3, -32 + movl (%rdi), %eax + testl %eax, %eax + je .L370 + subl $1, %eax + cmpl $5, %eax + ja .L369 +.L400: + movq STACK(%rip), %rbx + movq 16(%rbx), %rsi + movq 8(%rbx), %rdx + movq (%rbx), %rdi + leaq -2(%rsi), %rax + cmpq %rax, %rdx + jnb .L402 +.L383: + movq %r12, (%rdi,%rdx,8) + addq $1, %rdx + movq %rdx, 8(%rbx) +.L369: + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 24 + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L370: + .cfi_restore_state + cmpb $0, 40(%rdi) + jne .L403 + movq 16(%r12), %rax + movq FLIT(%rip), %rdi + movq 16(%rax), %rbx + movq (%rdi), %r8 + movl $5381, %eax + movsbq (%rbx), %rdx + leaq 1(%rbx), %rcx + testb %dl, %dl + je .L375 + .p2align 4,,10 + .p2align 3 +.L376: + movq %rax, %rsi + addq $1, %rcx + salq $5, %rsi + addq %rsi, %rax + addq %rdx, %rax + movsbq -1(%rcx), %rdx + testb %dl, %dl + jne .L376 +.L375: + xorl %edx, %edx + divq 8(%rdi) + movq (%r8,%rdx,8), %rax + movq (%rax), %rbp + testq %rbp, %rbp + jne .L380 + jmp .L377 + .p2align 4,,10 + .p2align 3 +.L378: + movq 16(%rbp), %rbp + testq %rbp, %rbp + je .L377 +.L380: + movq 0(%rbp), %rax + movq %rbx, %rdi + movq 16(%rax), %rsi + call strcmp@PLT + testl %eax, %eax + jne .L378 + movq 8(%rbp), %rbp + testq %rbp, %rbp + je .L377 + movq EVAL_STACK(%rip), %rbx + movq 16(%rbx), %rsi + movq 8(%rbx), %rdx + movq (%rbx), %rdi + leaq -2(%rsi), %rax + cmpq %rax, %rdx + jnb .L404 +.L381: + movq %r12, (%rdi,%rdx,8) + addq $1, %rdx + movq %r12, %rdi + movq %rdx, 8(%rbx) + call *%rbp + movq EVAL_STACK(%rip), %rdx + movq 8(%rdx), %rax + testq %rax, %rax + je .L382 + subq $1, %rax + movq %rax, 8(%rdx) +.L382: + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 24 + movq %r12, %rdi + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + jmp value_free + .p2align 4,,10 + .p2align 3 +.L402: + .cfi_restore_state + leaq (%rsi,%rsi), %rax + salq $4, %rsi + movq %rax, 16(%rbx) + call realloc@PLT + movq 8(%rbx), %rdx + movq %rax, (%rbx) + movq %rax, %rdi + jmp .L383 + .p2align 4,,10 + .p2align 3 +.L403: + movb $0, 40(%rdi) + jmp .L400 + .p2align 4,,10 + .p2align 3 +.L377: + movq %r12, %rdi + call eval_ht + testb %al, %al + jne .L369 + jmp .L400 + .p2align 4,,10 + .p2align 3 +.L404: + leaq (%rsi,%rsi), %rax + salq $4, %rsi + movq %rax, 16(%rbx) + call realloc@PLT + movq 8(%rbx), %rdx + movq %rax, (%rbx) + movq %rax, %rdi + jmp .L381 + .cfi_endproc +.LFE62: + .size eval, .-eval + .p2align 4 + .globl eval_ht + .type eval_ht, @function +eval_ht: +.LFB60: + .cfi_startproc + pushq %r12 + .cfi_def_cfa_offset 16 + .cfi_offset 12, -16 + pushq %rbp + .cfi_def_cfa_offset 24 + .cfi_offset 6, -24 + movq %rdi, %rbp + movq WORD_TABLE(%rip), %rdi + pushq %rbx + .cfi_def_cfa_offset 32 + .cfi_offset 3, -32 + movq 16(%rbp), %rax + movq (%rdi), %r8 + movq 16(%rax), %rbx + movsbq (%rbx), %rdx + testb %dl, %dl + je .L416 + leaq 1(%rbx), %rcx + movl $5381, %eax + .p2align 4,,10 + .p2align 3 +.L407: + movq %rax, %rsi + addq $1, %rcx + salq $5, %rsi + addq %rsi, %rax + addq %rdx, %rax + movsbq -1(%rcx), %rdx + testb %dl, %dl + jne .L407 +.L406: + xorl %edx, %edx + divq 8(%rdi) + movq (%r8,%rdx,8), %rax + movq (%rax), %r12 + testq %r12, %r12 + jne .L411 + jmp .L418 + .p2align 4,,10 + .p2align 3 +.L409: + movq 16(%r12), %r12 + testq %r12, %r12 + je .L418 +.L411: + movq (%r12), %rax + movq %rbx, %rdi + movq 16(%rax), %rsi + call strcmp@PLT + testl %eax, %eax + jne .L409 + movq 8(%r12), %r12 + testq %r12, %r12 + je .L418 + movq %rbp, %rdi + call value_free + cmpl $4, (%r12) + jne .L412 + movq 16(%r12), %rax + xorl %ebx, %ebx + cmpq $0, 8(%rax) + je .L415 + .p2align 4,,10 + .p2align 3 +.L413: + movq (%rax), %rax + movq (%rax,%rbx,8), %rdi + addq $1, %rbx + call value_copy + movq %rax, %rdi + call eval + movq 16(%r12), %rax + cmpq 8(%rax), %rbx + jb .L413 + jmp .L415 + .p2align 4,,10 + .p2align 3 +.L418: + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 24 + xorl %eax, %eax + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L412: + .cfi_restore_state + movq %r12, %rdi + call value_copy + movq %rax, %rdi + call eval +.L415: + popq %rbx + .cfi_remember_state + .cfi_def_cfa_offset 24 + movl $1, %eax + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + ret + .p2align 4,,10 + .p2align 3 +.L416: + .cfi_restore_state + movl $5381, %eax + jmp .L406 + .cfi_endproc +.LFE60: + .size eval_ht, .-eval_ht + .globl OBJ_TABLE + .bss + .align 8 + .type OBJ_TABLE, @object + .size OBJ_TABLE, 8 +OBJ_TABLE: + .zero 8 + .globl FLIT + .align 8 + .type FLIT, @object + .size FLIT, 8 +FLIT: + .zero 8 + .globl PARSER + .align 8 + .type PARSER, @object + .size PARSER, 8 +PARSER: + .zero 8 + .globl INBUF + .align 8 + .type INBUF, @object + .size INBUF, 8 +INBUF: + .zero 8 + .globl WORD_TABLE + .align 8 + .type WORD_TABLE, @object + .size WORD_TABLE, 8 +WORD_TABLE: + .zero 8 + .globl EVAL_STACK + .align 8 + .type EVAL_STACK, @object + .size EVAL_STACK, 8 +EVAL_STACK: + .zero 8 + .globl STACK + .align 8 + .type STACK, @object + .size STACK, 8 +STACK: + .zero 8 + .ident "GCC: (GNU) 13.2.1 20230801" + .section .note.GNU-stack,"",@progbits -- cgit