diff options
author | Preston Pan <preston@nullring.xyz> | 2024-01-09 18:39:49 -0800 |
---|---|---|
committer | Preston Pan <preston@nullring.xyz> | 2024-01-09 18:39:49 -0800 |
commit | ac6004730fa54a756d1627a4e8450cd32df86f75 (patch) | |
tree | 8cb4d59438a1252fa069788b2ffb78b2a1bbad3e /build/stem.s | |
parent | 6ccf0572469dfc8cd8fa7b8537b2ac6c265d2df6 (diff) |
reorganize directory structure
Diffstat (limited to 'build/stem.s')
-rw-r--r-- | build/stem.s | 2934 |
1 files changed, 2934 insertions, 0 deletions
diff --git a/build/stem.s b/build/stem.s new file mode 100644 index 0000000..58b17b4 --- /dev/null +++ b/build/stem.s @@ -0,0 +1,2934 @@ + .file "stem.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_re |