diff --git a/runtime/runtime.s b/runtime/runtime.s deleted file mode 100644 index 50ab078f3..000000000 --- a/runtime/runtime.s +++ /dev/null @@ -1,6209 +0,0 @@ - .file "runtime.c" - .text - .local from_space - .comm from_space,16,4 - .local to_space - .comm to_space,16,4 - .comm current,4,4 - .local extra_roots - .comm extra_roots,20,4 - .globl clear_extra_roots - .type clear_extra_roots, @function -clear_extra_roots: -.LFB5: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl $0, extra_roots@GOTOFF(%eax) - nop - popl %ebp - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE5: - .size clear_extra_roots, .-clear_extra_roots - .section .rodata - .align 4 -.LC0: - .string "ERROR: push_extra_roots: extra_roots_pool overflow" - .text - .globl push_extra_root - .type push_extra_root, @function -push_extra_root: -.LFB6: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl extra_roots@GOTOFF(%ebx), %eax - cmpl $3, %eax - jle .L3 - subl $12, %esp - leal .LC0@GOTOFF(%ebx), %eax - pushl %eax - call perror@PLT - addl $16, %esp - subl $12, %esp - pushl $1 - call exit@PLT -.L3: - movl extra_roots@GOTOFF(%ebx), %eax - movl 8(%ebp), %edx - movl %edx, 4+extra_roots@GOTOFF(%ebx,%eax,4) - movl extra_roots@GOTOFF(%ebx), %eax - addl $1, %eax - movl %eax, extra_roots@GOTOFF(%ebx) - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE6: - .size push_extra_root, .-push_extra_root - .section .rodata - .align 4 -.LC1: - .string "ERROR: pop_extra_root: extra_roots are empty" - .align 4 -.LC2: - .string "ERROR: pop_extra_root: stack invariant violation" - .text - .globl pop_extra_root - .type pop_extra_root, @function -pop_extra_root: -.LFB7: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl extra_roots@GOTOFF(%ebx), %eax - testl %eax, %eax - jne .L5 - subl $12, %esp - leal .LC1@GOTOFF(%ebx), %eax - pushl %eax - call perror@PLT - addl $16, %esp - subl $12, %esp - pushl $1 - call exit@PLT -.L5: - movl extra_roots@GOTOFF(%ebx), %eax - subl $1, %eax - movl %eax, extra_roots@GOTOFF(%ebx) - movl extra_roots@GOTOFF(%ebx), %eax - movl 4+extra_roots@GOTOFF(%ebx,%eax,4), %eax - cmpl %eax, 8(%ebp) - je .L7 - subl $12, %esp - leal .LC2@GOTOFF(%ebx), %eax - pushl %eax - call perror@PLT - addl $16, %esp - subl $12, %esp - pushl $1 - call exit@PLT -.L7: - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE7: - .size pop_extra_root, .-pop_extra_root - .section .rodata -.LC3: - .string "*** FAILURE: " - .text - .type vfailure, @function -vfailure: -.LFB8: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl stderr@GOT(%ebx), %eax - movl (%eax), %eax - pushl %eax - pushl $13 - pushl $1 - leal .LC3@GOTOFF(%ebx), %eax - pushl %eax - call fwrite@PLT - addl $16, %esp - movl stderr@GOT(%ebx), %eax - movl (%eax), %eax - subl $4, %esp - pushl 12(%ebp) - pushl 8(%ebp) - pushl %eax - call vfprintf@PLT - addl $16, %esp - subl $12, %esp - pushl $255 - call exit@PLT - .cfi_endproc -.LFE8: - .size vfailure, .-vfailure - .type failure, @function -failure: -.LFB9: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $40, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %eax - movl %eax, -28(%ebp) - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - leal 12(%ebp), %eax - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - subl $8, %esp - pushl %eax - pushl -28(%ebp) - call vfailure - addl $16, %esp - nop - movl -12(%ebp), %eax - xorl %gs:20, %eax - je .L10 - call __stack_chk_fail_local -.L10: - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE9: - .size failure, .-failure - .comm global_sysargs,4,4 - .globl Ls__Infix_58 - .type Ls__Infix_58, @function -Ls__Infix_58: -.LFB10: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - call __pre_gc@PLT - pushl $848787 - pushl 12(%ebp) - pushl 8(%ebp) - pushl $3 - call Bsexp - addl $16, %esp - movl %eax, -12(%ebp) - call __post_gc@PLT - movl -12(%ebp), %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE10: - .size Ls__Infix_58, .-Ls__Infix_58 - .section .rodata -.LC4: - .string "captured !!:1" -.LC5: - .string "unboxed value expected in %s\n" -.LC6: - .string "captured !!:2" - .text - .globl Ls__Infix_3333 - .type Ls__Infix_3333, @function -Ls__Infix_3333: -.LFB11: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L14 - subl $8, %esp - leal .LC4@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L14: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L15 - subl $8, %esp - leal .LC6@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L15: - movl 8(%ebp), %eax - sarl %eax - testl %eax, %eax - jne .L16 - movl 12(%ebp), %eax - sarl %eax - testl %eax, %eax - je .L17 -.L16: - movl $1, %eax - jmp .L18 -.L17: - movl $0, %eax -.L18: - addl %eax, %eax - orl $1, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE11: - .size Ls__Infix_3333, .-Ls__Infix_3333 - .section .rodata -.LC7: - .string "captured &&:1" -.LC8: - .string "captured &&:2" - .text - .globl Ls__Infix_3838 - .type Ls__Infix_3838, @function -Ls__Infix_3838: -.LFB12: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L21 - subl $8, %esp - leal .LC7@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L21: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L22 - subl $8, %esp - leal .LC8@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L22: - movl 8(%ebp), %eax - sarl %eax - testl %eax, %eax - je .L23 - movl 12(%ebp), %eax - sarl %eax - testl %eax, %eax - je .L23 - movl $1, %eax - jmp .L24 -.L23: - movl $0, %eax -.L24: - addl %eax, %eax - orl $1, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE12: - .size Ls__Infix_3838, .-Ls__Infix_3838 - .section .rodata -.LC9: - .string "captured ==:1" -.LC10: - .string "captured ==:2" - .text - .globl Ls__Infix_6161 - .type Ls__Infix_6161, @function -Ls__Infix_6161: -.LFB13: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L27 - subl $8, %esp - leal .LC9@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L27: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L28 - subl $8, %esp - leal .LC10@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L28: - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - cmpl %eax, %edx - jne .L29 - movl $3, %eax - jmp .L31 -.L29: - movl $1, %eax -.L31: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE13: - .size Ls__Infix_6161, .-Ls__Infix_6161 - .section .rodata -.LC11: - .string "captured !=:1" -.LC12: - .string "captured !=:2" - .text - .globl Ls__Infix_3361 - .type Ls__Infix_3361, @function -Ls__Infix_3361: -.LFB14: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L33 - subl $8, %esp - leal .LC11@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L33: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L34 - subl $8, %esp - leal .LC12@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L34: - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - cmpl %eax, %edx - je .L35 - movl $3, %eax - jmp .L37 -.L35: - movl $1, %eax -.L37: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE14: - .size Ls__Infix_3361, .-Ls__Infix_3361 - .section .rodata -.LC13: - .string "captured <=:1" -.LC14: - .string "captured <=:2" - .text - .globl Ls__Infix_6061 - .type Ls__Infix_6061, @function -Ls__Infix_6061: -.LFB15: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L39 - subl $8, %esp - leal .LC13@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L39: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L40 - subl $8, %esp - leal .LC14@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L40: - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - cmpl %eax, %edx - jg .L41 - movl $3, %eax - jmp .L43 -.L41: - movl $1, %eax -.L43: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE15: - .size Ls__Infix_6061, .-Ls__Infix_6061 - .section .rodata -.LC15: - .string "captured <:1" -.LC16: - .string "captured <:2" - .text - .globl Ls__Infix_60 - .type Ls__Infix_60, @function -Ls__Infix_60: -.LFB16: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L45 - subl $8, %esp - leal .LC15@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L45: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L46 - subl $8, %esp - leal .LC16@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L46: - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - cmpl %eax, %edx - jge .L47 - movl $3, %eax - jmp .L49 -.L47: - movl $1, %eax -.L49: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE16: - .size Ls__Infix_60, .-Ls__Infix_60 - .section .rodata -.LC17: - .string "captured >=:1" -.LC18: - .string "captured >=:2" - .text - .globl Ls__Infix_6261 - .type Ls__Infix_6261, @function -Ls__Infix_6261: -.LFB17: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L51 - subl $8, %esp - leal .LC17@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L51: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L52 - subl $8, %esp - leal .LC18@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L52: - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - cmpl %eax, %edx - jl .L53 - movl $3, %eax - jmp .L55 -.L53: - movl $1, %eax -.L55: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE17: - .size Ls__Infix_6261, .-Ls__Infix_6261 - .section .rodata -.LC19: - .string "captured >:1" -.LC20: - .string "captured >:2" - .text - .globl Ls__Infix_62 - .type Ls__Infix_62, @function -Ls__Infix_62: -.LFB18: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L57 - subl $8, %esp - leal .LC19@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L57: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L58 - subl $8, %esp - leal .LC20@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L58: - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - cmpl %eax, %edx - jle .L59 - movl $3, %eax - jmp .L61 -.L59: - movl $1, %eax -.L61: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE18: - .size Ls__Infix_62, .-Ls__Infix_62 - .section .rodata -.LC21: - .string "captured +:1" -.LC22: - .string "captured +:2" - .text - .globl Ls__Infix_43 - .type Ls__Infix_43, @function -Ls__Infix_43: -.LFB19: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L63 - subl $8, %esp - leal .LC21@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L63: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L64 - subl $8, %esp - leal .LC22@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L64: - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - addl %edx, %eax - addl %eax, %eax - orl $1, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE19: - .size Ls__Infix_43, .-Ls__Infix_43 - .section .rodata -.LC23: - .string "captured -:1" -.LC24: - .string "captured -:2" - .text - .globl Ls__Infix_45 - .type Ls__Infix_45, @function -Ls__Infix_45: -.LFB20: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L67 - subl $8, %esp - leal .LC23@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L67: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L68 - subl $8, %esp - leal .LC24@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L68: - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - subl %eax, %edx - movl %edx, %eax - addl %eax, %eax - orl $1, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE20: - .size Ls__Infix_45, .-Ls__Infix_45 - .section .rodata -.LC25: - .string "captured *:1" -.LC26: - .string "captured *:2" - .text - .globl Ls__Infix_42 - .type Ls__Infix_42, @function -Ls__Infix_42: -.LFB21: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L71 - subl $8, %esp - leal .LC25@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L71: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L72 - subl $8, %esp - leal .LC26@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L72: - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - imull %edx, %eax - addl %eax, %eax - orl $1, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE21: - .size Ls__Infix_42, .-Ls__Infix_42 - .section .rodata -.LC27: - .string "captured /:1" -.LC28: - .string "captured /:2" - .text - .globl Ls__Infix_47 - .type Ls__Infix_47, @function -Ls__Infix_47: -.LFB22: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L75 - subl $8, %esp - leal .LC27@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L75: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L76 - subl $8, %esp - leal .LC28@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L76: - movl 8(%ebp), %eax - sarl %eax - movl 12(%ebp), %edx - movl %edx, %ecx - sarl %ecx - cltd - idivl %ecx - addl %eax, %eax - orl $1, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE22: - .size Ls__Infix_47, .-Ls__Infix_47 - .section .rodata -.LC29: - .string "captured %:1" -.LC30: - .string "captured %:2" - .text - .globl Ls__Infix_37 - .type Ls__Infix_37, @function -Ls__Infix_37: -.LFB23: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L79 - subl $8, %esp - leal .LC29@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L79: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L80 - subl $8, %esp - leal .LC30@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L80: - movl 8(%ebp), %eax - sarl %eax - movl 12(%ebp), %edx - movl %edx, %ecx - sarl %ecx - cltd - idivl %ecx - movl %edx, %eax - addl %eax, %eax - orl $1, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE23: - .size Ls__Infix_37, .-Ls__Infix_37 - .section .rodata -.LC31: - .string ".length" -.LC32: - .string "boxed value expected in %s\n" - .text - .globl Blength - .type Blength, @function -Blength: -.LFB24: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $24, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl $1, -12(%ebp) - movl 8(%ebp), %edx - andl $1, %edx - testl %edx, %edx - je .L83 - subl $8, %esp - leal .LC31@GOTOFF(%eax), %edx - pushl %edx - leal .LC32@GOTOFF(%eax), %eax - pushl %eax - call failure - addl $16, %esp -.L83: - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -12(%ebp) - movl -12(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - addl %eax, %eax - orl $1, %eax - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE24: - .size Blength, .-Blength - .section .rodata - .align 4 -.LC33: - .string "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" - .text - .globl de_hash - .type de_hash, @function -de_hash: -.LFB25: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $16, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl $1, -8(%ebp) - leal .LC33@GOTOFF(%eax), %edx - movl %edx, chars.2795@GOTOFF(%eax) - leal 5+buf.2796@GOTOFF(%eax), %edx - movl %edx, -8(%ebp) - movl -8(%ebp), %edx - leal -1(%edx), %ecx - movl %ecx, -8(%ebp) - movb $0, (%edx) - jmp .L86 -.L87: - movl chars.2795@GOTOFF(%eax), %edx - movl 8(%ebp), %ecx - andl $63, %ecx - leal (%edx,%ecx), %ebx - movl -8(%ebp), %edx - leal -1(%edx), %ecx - movl %ecx, -8(%ebp) - movzbl (%ebx), %ecx - movb %cl, (%edx) - sarl $6, 8(%ebp) -.L86: - cmpl $0, 8(%ebp) - jne .L87 - addl $1, -8(%ebp) - movl -8(%ebp), %eax - addl $16, %esp - popl %ebx - .cfi_restore 3 - popl %ebp - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE25: - .size de_hash, .-de_hash - .local stringBuf - .comm stringBuf,12,4 - .type createStringBuf, @function -createStringBuf: -.LFB26: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - subl $12, %esp - pushl $128 - call malloc@PLT - addl $16, %esp - movl %eax, stringBuf@GOTOFF(%ebx) - movl $0, 4+stringBuf@GOTOFF(%ebx) - movl $128, 8+stringBuf@GOTOFF(%ebx) - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE26: - .size createStringBuf, .-createStringBuf - .type deleteStringBuf, @function -deleteStringBuf: -.LFB27: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl stringBuf@GOTOFF(%eax), %edx - subl $12, %esp - pushl %edx - movl %eax, %ebx - call free@PLT - addl $16, %esp - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE27: - .size deleteStringBuf, .-deleteStringBuf - .type extendStringBuf, @function -extendStringBuf: -.LFB28: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8+stringBuf@GOTOFF(%ebx), %eax - addl %eax, %eax - movl %eax, -12(%ebp) - movl -12(%ebp), %edx - movl stringBuf@GOTOFF(%ebx), %eax - subl $8, %esp - pushl %edx - pushl %eax - call realloc@PLT - addl $16, %esp - movl %eax, stringBuf@GOTOFF(%ebx) - movl -12(%ebp), %eax - movl %eax, 8+stringBuf@GOTOFF(%ebx) - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE28: - .size extendStringBuf, .-extendStringBuf - .type vprintStringBuf, @function -vprintStringBuf: -.LFB29: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl $0, -20(%ebp) - movl $0, -16(%ebp) - movl $1, -12(%ebp) -.L93: - movl stringBuf@GOTOFF(%ebx), %eax - movl 4+stringBuf@GOTOFF(%ebx), %edx - addl %edx, %eax - movl %eax, -12(%ebp) - movl 8+stringBuf@GOTOFF(%ebx), %edx - movl 4+stringBuf@GOTOFF(%ebx), %eax - subl %eax, %edx - movl %edx, %eax - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - pushl 12(%ebp) - pushl 8(%ebp) - pushl %eax - pushl -12(%ebp) - call vsnprintf@PLT - addl $16, %esp - movl %eax, -20(%ebp) - movl -20(%ebp), %eax - cmpl -16(%ebp), %eax - jl .L94 - call extendStringBuf - jmp .L93 -.L94: - movl 4+stringBuf@GOTOFF(%ebx), %edx - movl -20(%ebp), %eax - addl %edx, %eax - movl %eax, 4+stringBuf@GOTOFF(%ebx) - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE29: - .size vprintStringBuf, .-vprintStringBuf - .type printStringBuf, @function -printStringBuf: -.LFB30: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $40, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %eax - movl %eax, -28(%ebp) - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - leal 12(%ebp), %eax - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - subl $8, %esp - pushl %eax - pushl -28(%ebp) - call vprintStringBuf - addl $16, %esp - nop - movl -12(%ebp), %eax - xorl %gs:20, %eax - je .L96 - call __stack_chk_fail_local -.L96: - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE30: - .size printStringBuf, .-printStringBuf - .section .rodata -.LC34: - .string "%d" -.LC35: - .string "\"%s\"" -.LC36: - .string "" -.LC40: - .string "[" -.LC41: - .string "]" -.LC42: - .string "cons" -.LC43: - .string "{" -.LC44: - .string "}" -.LC45: - .string "%s" -.LC46: - .string " (" -.LC47: - .string ")" -.LC48: - .string "*** invalid tag: %x ***" - .text - .type printValue, @function -printValue: -.LFB31: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl $1, -16(%ebp) - movl $1, -24(%ebp) - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L98 - movl 8(%ebp), %eax - sarl %eax - subl $8, %esp - pushl %eax - leal .LC34@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L125 -.L98: - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - cmpl $3, %eax - je .L101 - cmpl $3, %eax - jg .L102 - cmpl $1, %eax - je .L103 - jmp .L100 -.L102: - cmpl $5, %eax - je .L104 - cmpl $7, %eax - je .L105 - jmp .L100 -.L103: - movl -16(%ebp), %eax - addl $4, %eax - subl $8, %esp - pushl %eax - leal .LC35@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L99 -.L105: - subl $12, %esp - leal .LC36@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - movl $0, -24(%ebp) - jmp .L106 -.L110: - cmpl $0, -24(%ebp) - je .L107 - movl -16(%ebp), %eax - leal 4(%eax), %edx - movl -24(%ebp), %eax - sall $2, %eax - addl %edx, %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call printValue - addl $16, %esp - jmp .L108 -.L107: - movl -16(%ebp), %eax - leal 4(%eax), %edx - movl -24(%ebp), %eax - sall $2, %eax - addl %edx, %eax - movl (%eax), %eax - subl $8, %esp - pushl %eax - leal .LC37@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp -.L108: - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - leal -1(%eax), %edx - movl -24(%ebp), %eax - cmpl %eax, %edx - je .L109 - subl $12, %esp - leal .LC38@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp -.L109: - addl $1, -24(%ebp) -.L106: - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, %edx - movl -24(%ebp), %eax - cmpl %eax, %edx - ja .L110 - subl $12, %esp - leal .LC39@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L99 -.L101: - subl $12, %esp - leal .LC40@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - movl $0, -24(%ebp) - jmp .L111 -.L113: - movl -16(%ebp), %eax - leal 4(%eax), %edx - movl -24(%ebp), %eax - sall $2, %eax - addl %edx, %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call printValue - addl $16, %esp - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - leal -1(%eax), %edx - movl -24(%ebp), %eax - cmpl %eax, %edx - je .L112 - subl $12, %esp - leal .LC38@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp -.L112: - addl $1, -24(%ebp) -.L111: - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, %edx - movl -24(%ebp), %eax - cmpl %eax, %edx - ja .L113 - subl $12, %esp - leal .LC41@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L99 -.L104: - movl 8(%ebp), %eax - subl $8, %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call de_hash - addl $16, %esp - movl %eax, -12(%ebp) - subl $8, %esp - leal .LC42@GOTOFF(%ebx), %eax - pushl %eax - pushl -12(%ebp) - call strcmp@PLT - addl $16, %esp - testl %eax, %eax - jne .L114 - movl -16(%ebp), %eax - movl %eax, -20(%ebp) - subl $12, %esp - leal .LC43@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L115 -.L118: - movl -20(%ebp), %eax - addl $4, %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call printValue - addl $16, %esp - movl -20(%ebp), %eax - addl $4, %eax - addl $4, %eax - movl (%eax), %eax - movl %eax, -20(%ebp) - movl -20(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L123 - subl $12, %esp - leal .LC38@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - subl $4, -20(%ebp) -.L115: - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - testl %eax, %eax - jne .L118 - jmp .L117 -.L123: - nop -.L117: - subl $12, %esp - leal .LC44@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L124 -.L114: - subl $8, %esp - pushl -12(%ebp) - leal .LC45@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - testl %eax, %eax - je .L124 - subl $12, %esp - leal .LC46@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - movl $0, -24(%ebp) - jmp .L120 -.L122: - movl -16(%ebp), %eax - leal 4(%eax), %edx - movl -24(%ebp), %eax - sall $2, %eax - addl %edx, %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call printValue - addl $16, %esp - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - leal -1(%eax), %edx - movl -24(%ebp), %eax - cmpl %eax, %edx - je .L121 - subl $12, %esp - leal .LC38@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp -.L121: - addl $1, -24(%ebp) -.L120: - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, %edx - movl -24(%ebp), %eax - cmpl %eax, %edx - ja .L122 - subl $12, %esp - leal .LC47@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L124 -.L100: - movl -16(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - subl $8, %esp - pushl %eax - leal .LC48@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L125 -.L124: - nop -.L99: -.L125: - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE31: - .size printValue, .-printValue - .section .rodata -.LC49: - .string "*** non-list tag: %s ***" - .text - .type stringcat, @function -stringcat: -.LFB32: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L138 - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L129 - cmpl $5, %eax - je .L130 - jmp .L137 -.L129: - movl -16(%ebp), %eax - addl $4, %eax - subl $8, %esp - pushl %eax - leal .LC45@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L127 -.L130: - movl 8(%ebp), %eax - subl $8, %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call de_hash - addl $16, %esp - movl %eax, -12(%ebp) - subl $8, %esp - leal .LC42@GOTOFF(%ebx), %eax - pushl %eax - pushl -12(%ebp) - call strcmp@PLT - addl $16, %esp - testl %eax, %eax - jne .L131 - movl -16(%ebp), %eax - movl %eax, -20(%ebp) - jmp .L132 -.L135: - movl -20(%ebp), %eax - addl $4, %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call stringcat - addl $16, %esp - movl -20(%ebp), %eax - addl $4, %eax - addl $4, %eax - movl (%eax), %eax - movl %eax, -20(%ebp) - movl -20(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L139 - subl $4, -20(%ebp) -.L132: - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - testl %eax, %eax - jne .L135 - jmp .L127 -.L131: - subl $8, %esp - pushl -12(%ebp) - leal .LC49@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L127 -.L139: - nop - jmp .L127 -.L137: - movl -16(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - subl $8, %esp - pushl %eax - leal .LC48@GOTOFF(%ebx), %eax - pushl %eax - call printStringBuf - addl $16, %esp - jmp .L138 -.L127: -.L138: - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE32: - .size stringcat, .-stringcat - .section .rodata -.LC50: - .string "matchSubString:1" -.LC51: - .string "sting value expected in %s\n" -.LC52: - .string "matchSubString:2" -.LC53: - .string "matchSubString:3" - .text - .globl LmatchSubString - .type LmatchSubString, @function -LmatchSubString: -.LFB33: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 12(%ebp), %eax - subl $4, %eax - movl %eax, -16(%ebp) - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L141 - movl 8(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L141 - subl $8, %esp - leal .LC50@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L141: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L142 - movl 12(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L142 - subl $8, %esp - leal .LC52@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L142: - movl 16(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L143 - subl $8, %esp - leal .LC53@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L143: - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, -12(%ebp) - movl -12(%ebp), %eax - movl 16(%ebp), %edx - sarl %edx - movl %edx, %ecx - movl 8(%ebp), %edx - addl %ecx, %edx - subl $4, %esp - pushl %eax - pushl 12(%ebp) - pushl %edx - call strncmp@PLT - addl $16, %esp - testl %eax, %eax - jne .L144 - movl $3, %eax - jmp .L146 -.L144: - movl $1, %eax -.L146: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE33: - .size LmatchSubString, .-LmatchSubString - .section .rodata -.LC54: - .string "substring:1" -.LC55: - .string "substring:2" -.LC56: - .string "substring:3" - .align 4 -.LC57: - .string "substring: index out of bounds (position=%d, length=%d, subject length=%d)" - .text - .globl Lsubstring - .type Lsubstring, @function -Lsubstring: -.LFB34: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -24(%ebp) - movl 12(%ebp), %eax - sarl %eax - movl %eax, -20(%ebp) - movl 16(%ebp), %eax - sarl %eax - movl %eax, -16(%ebp) - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L148 - movl 8(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L148 - subl $8, %esp - leal .LC54@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L148: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L149 - subl $8, %esp - leal .LC55@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L149: - movl 16(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L150 - subl $8, %esp - leal .LC56@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L150: - movl -20(%ebp), %edx - movl -16(%ebp), %eax - addl %edx, %eax - movl %eax, %edx - movl -24(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - cmpl %eax, %edx - ja .L151 - call __pre_gc@PLT - movl -16(%ebp), %eax - addl $5, %eax - subl $12, %esp - pushl %eax - call alloc - addl $16, %esp - movl %eax, -12(%ebp) - movl -16(%ebp), %eax - sall $3, %eax - orl $1, %eax - movl %eax, %edx - movl -12(%ebp), %eax - movl %edx, (%eax) - movl -16(%ebp), %eax - movl -20(%ebp), %ecx - movl 8(%ebp), %edx - addl %edx, %ecx - movl -12(%ebp), %edx - addl $4, %edx - subl $4, %esp - pushl %eax - pushl %ecx - pushl %edx - call strncpy@PLT - addl $16, %esp - call __post_gc@PLT - movl -12(%ebp), %eax - addl $4, %eax - jmp .L147 -.L151: - movl -24(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - pushl %eax - pushl -16(%ebp) - pushl -20(%ebp) - leal .LC57@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L147: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE34: - .size Lsubstring, .-Lsubstring - .section .rodata -.LC58: - .string "%" - .text - .globl Lregexp - .type Lregexp, @function -Lregexp: -.LFB35: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - subl $12, %esp - pushl $32 - call malloc@PLT - addl $16, %esp - movl %eax, -16(%ebp) - subl $12, %esp - pushl 8(%ebp) - call strlen@PLT - addl $16, %esp - subl $4, %esp - pushl -16(%ebp) - pushl %eax - pushl 8(%ebp) - call re_compile_pattern@PLT - addl $16, %esp - movl %eax, -12(%ebp) - cmpl $0, -12(%ebp) - je .L154 - subl $12, %esp - pushl -12(%ebp) - call strerror@PLT - addl $16, %esp - subl $8, %esp - pushl %eax - leal .LC58@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L154: - movl -16(%ebp), %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE35: - .size Lregexp, .-Lregexp - .section .rodata -.LC59: - .string "regexpMatch:1" -.LC60: - .string "regexpMatch:2" -.LC61: - .string "regexpMatch:3" - .text - .globl LregexpMatch - .type LregexpMatch, @function -LregexpMatch: -.LFB36: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L157 - subl $8, %esp - leal .LC59@GOTOFF(%ebx), %eax - pushl %eax - leal .LC32@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L157: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L158 - movl 12(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L158 - subl $8, %esp - leal .LC60@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L158: - movl 16(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L159 - subl $8, %esp - leal .LC61@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L159: - movl 16(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - shrl $3, %eax - subl $12, %esp - pushl $0 - pushl %edx - pushl %eax - pushl 12(%ebp) - pushl 8(%ebp) - call re_match@PLT - addl $32, %esp - addl %eax, %eax - orl $1, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE36: - .size LregexpMatch, .-LregexpMatch - .section .rodata - .align 4 -.LC62: - .string "invalid tag %d in clone *****\n" - .text - .globl Lclone - .type Lclone, @function -Lclone: -.LFB37: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - call __pre_gc@PLT - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L162 - movl 8(%ebp), %eax - jmp .L163 -.L162: - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -20(%ebp) - movl -20(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - movl %eax, -16(%ebp) - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, -12(%ebp) - subl $12, %esp - leal 8(%ebp), %eax - pushl %eax - call push_extra_root - addl $16, %esp - movl -16(%ebp), %eax - cmpl $3, %eax - je .L165 - cmpl $3, %eax - jg .L166 - cmpl $1, %eax - je .L167 - jmp .L164 -.L166: - cmpl $5, %eax - je .L168 - cmpl $7, %eax - je .L165 - jmp .L164 -.L167: - movl 8(%ebp), %eax - subl $4, %eax - addl $4, %eax - subl $12, %esp - pushl %eax - call Bstring - addl $16, %esp - movl %eax, -24(%ebp) -.L165: - movl -12(%ebp), %eax - addl $1, %eax - sall $2, %eax - subl $12, %esp - pushl %eax - call alloc - addl $16, %esp - movl %eax, -24(%ebp) - movl -12(%ebp), %eax - addl $1, %eax - leal 0(,%eax,4), %edx - movl 8(%ebp), %eax - subl $4, %eax - subl $4, %esp - pushl %edx - pushl %eax - pushl -24(%ebp) - call memcpy@PLT - addl $16, %esp - addl $4, -24(%ebp) - jmp .L169 -.L168: - movl -12(%ebp), %eax - addl $2, %eax - sall $2, %eax - subl $12, %esp - pushl %eax - call alloc - addl $16, %esp - movl %eax, -24(%ebp) - movl -12(%ebp), %eax - addl $2, %eax - leal 0(,%eax,4), %edx - movl 8(%ebp), %eax - subl $8, %eax - subl $4, %esp - pushl %edx - pushl %eax - pushl -24(%ebp) - call memcpy@PLT - addl $16, %esp - addl $4, -24(%ebp) - addl $4, -24(%ebp) - jmp .L169 -.L164: - subl $8, %esp - pushl -16(%ebp) - leal .LC62@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L169: - subl $12, %esp - leal 8(%ebp), %eax - pushl %eax - call pop_extra_root - addl $16, %esp - call __post_gc@PLT - movl -24(%ebp), %eax -.L163: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE37: - .size Lclone, .-Lclone - .section .rodata -.LC63: - .string "invalid tag %d in hash *****\n" - .text - .globl inner_hash - .type inner_hash, @function -inner_hash: -.LFB38: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $40, %esp - call __x86.get_pc_thunk.dx - addl $_GLOBAL_OFFSET_TABLE_, %edx - cmpl $3, 8(%ebp) - jle .L171 - movl 12(%ebp), %eax - jmp .L172 -.L171: - movl 16(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L173 - movl 16(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - addl %edx, %eax - roll $16, %eax - jmp .L172 -.L173: - movl 16(%ebp), %eax - subl $4, %eax - movl %eax, -24(%ebp) - movl -24(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - movl %eax, -20(%ebp) - movl -24(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, -16(%ebp) - movl -20(%ebp), %ecx - movl 12(%ebp), %eax - addl %ecx, %eax - roll $16, %eax - movl %eax, 12(%ebp) - movl -16(%ebp), %ecx - movl 12(%ebp), %eax - addl %ecx, %eax - roll $16, %eax - movl %eax, 12(%ebp) - movl -20(%ebp), %eax - cmpl $3, %eax - je .L175 - cmpl $3, %eax - jg .L176 - cmpl $1, %eax - je .L177 - jmp .L174 -.L176: - cmpl $5, %eax - je .L178 - cmpl $7, %eax - je .L179 - jmp .L174 -.L177: - movl -24(%ebp), %eax - addl $4, %eax - movl %eax, -28(%ebp) - jmp .L180 -.L181: - movl -28(%ebp), %eax - leal 1(%eax), %edx - movl %edx, -28(%ebp) - movzbl (%eax), %eax - movsbl %al, %edx - movl 12(%ebp), %eax - addl %edx, %eax - sall $16, %eax - movl %eax, %ecx - movl -28(%ebp), %eax - leal 1(%eax), %edx - movl %edx, -28(%ebp) - movzbl (%eax), %eax - movsbl %al, %edx - movl 12(%ebp), %eax - addl %edx, %eax - shrl $16, %eax - orl %ecx, %eax - movl %eax, 12(%ebp) -.L180: - movl -28(%ebp), %eax - movzbl (%eax), %eax - testb %al, %al - jne .L181 - movl 12(%ebp), %eax - jmp .L172 -.L179: - movl -24(%ebp), %eax - addl $4, %eax - movl (%eax), %eax - movl %eax, %edx - movl 12(%ebp), %eax - addl %edx, %eax - roll $16, %eax - movl %eax, 12(%ebp) - movl $1, -32(%ebp) - jmp .L182 -.L175: - movl $0, -32(%ebp) - jmp .L182 -.L178: - movl 16(%ebp), %eax - subl $8, %eax - movl (%eax), %eax - movl %eax, -12(%ebp) - movl -12(%ebp), %edx - movl 12(%ebp), %eax - addl %edx, %eax - roll $16, %eax - movl %eax, 12(%ebp) - movl $0, -32(%ebp) - jmp .L182 -.L174: - subl $8, %esp - pushl -20(%ebp) - leal .LC63@GOTOFF(%edx), %eax - pushl %eax - call failure - addl $16, %esp -.L182: - jmp .L183 -.L184: - movl -24(%ebp), %eax - leal 4(%eax), %edx - movl -32(%ebp), %eax - sall $2, %eax - addl %edx, %eax - movl (%eax), %eax - movl 8(%ebp), %edx - addl $1, %edx - subl $4, %esp - pushl %eax - pushl 12(%ebp) - pushl %edx - call inner_hash - addl $16, %esp - movl %eax, 12(%ebp) - addl $1, -32(%ebp) -.L183: - movl -32(%ebp), %eax - cmpl -16(%ebp), %eax - jl .L184 - movl 12(%ebp), %eax -.L172: - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE38: - .size inner_hash, .-inner_hash - .globl Lhash - .type Lhash, @function -Lhash: -.LFB39: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $8, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - subl $4, %esp - pushl 8(%ebp) - pushl $0 - pushl $0 - call inner_hash - addl $16, %esp - addl %eax, %eax - orl $1, %eax - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE39: - .size Lhash, .-Lhash - .section .rodata - .align 4 -.LC64: - .string "invalid tag %d in compare *****\n" - .text - .globl Lcompare - .type Lcompare, @function -Lcompare: -.LFB40: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $52, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.dx - addl $_GLOBAL_OFFSET_TABLE_, %edx - movl 8(%ebp), %eax - cmpl 12(%ebp), %eax - jne .L188 - movl $1, %eax - jmp .L189 -.L188: - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L190 - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L191 - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - subl %eax, %edx - movl %edx, %eax - addl %eax, %eax - orl $1, %eax - jmp .L189 -.L191: - movl $-1, %eax - jmp .L189 -.L190: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L192 - movl $3, %eax - jmp .L189 -.L192: - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -44(%ebp) - movl 12(%ebp), %eax - subl $4, %eax - movl %eax, -40(%ebp) - movl -44(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - movl %eax, -36(%ebp) - movl -40(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - movl %eax, -32(%ebp) - movl -44(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, -28(%ebp) - movl -40(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, -24(%ebp) - movl -36(%ebp), %eax - cmpl -32(%ebp), %eax - je .L193 - movl -36(%ebp), %eax - subl -32(%ebp), %eax - addl %eax, %eax - orl $1, %eax - jmp .L189 -.L193: - movl -36(%ebp), %eax - cmpl $3, %eax - je .L195 - cmpl $3, %eax - jg .L196 - cmpl $1, %eax - je .L197 - jmp .L194 -.L196: - cmpl $5, %eax - je .L198 - cmpl $7, %eax - je .L199 - jmp .L194 -.L197: - movl -40(%ebp), %eax - leal 4(%eax), %ecx - movl -44(%ebp), %eax - addl $4, %eax - subl $8, %esp - pushl %ecx - pushl %eax - movl %edx, %ebx - call strcmp@PLT - addl $16, %esp - addl %eax, %eax - orl $1, %eax - jmp .L189 -.L199: - movl -44(%ebp), %eax - addl $4, %eax - movl (%eax), %edx - movl -40(%ebp), %eax - addl $4, %eax - movl (%eax), %eax - cmpl %eax, %edx - je .L200 - movl -44(%ebp), %eax - addl $4, %eax - movl (%eax), %eax - movl %eax, %edx - movl -40(%ebp), %eax - addl $4, %eax - movl (%eax), %eax - subl %eax, %edx - movl %edx, %eax - addl %eax, %eax - orl $1, %eax - jmp .L189 -.L200: - movl -28(%ebp), %eax - cmpl -24(%ebp), %eax - je .L201 - movl -28(%ebp), %eax - subl -24(%ebp), %eax - addl %eax, %eax - orl $1, %eax - jmp .L189 -.L201: - movl $1, -48(%ebp) - jmp .L202 -.L195: - movl -28(%ebp), %eax - cmpl -24(%ebp), %eax - je .L203 - movl -28(%ebp), %eax - subl -24(%ebp), %eax - addl %eax, %eax - orl $1, %eax - jmp .L189 -.L203: - movl $0, -48(%ebp) - jmp .L202 -.L198: - movl 8(%ebp), %eax - subl $8, %eax - movl (%eax), %eax - movl %eax, -20(%ebp) - movl 12(%ebp), %eax - subl $8, %eax - movl (%eax), %eax - movl %eax, -16(%ebp) - movl -20(%ebp), %eax - cmpl -16(%ebp), %eax - je .L204 - movl -20(%ebp), %eax - subl -16(%ebp), %eax - addl %eax, %eax - orl $1, %eax - jmp .L189 -.L204: - movl -28(%ebp), %eax - cmpl -24(%ebp), %eax - je .L205 - movl -28(%ebp), %eax - subl -24(%ebp), %eax - addl %eax, %eax - orl $1, %eax - jmp .L189 -.L205: - movl $0, -48(%ebp) - jmp .L202 -.L194: - subl $8, %esp - pushl -36(%ebp) - leal .LC64@GOTOFF(%edx), %eax - pushl %eax - call failure - addl $16, %esp -.L202: - jmp .L206 -.L208: - movl -40(%ebp), %eax - leal 4(%eax), %edx - movl -48(%ebp), %eax - sall $2, %eax - addl %edx, %eax - movl (%eax), %edx - movl -44(%ebp), %eax - leal 4(%eax), %ecx - movl -48(%ebp), %eax - sall $2, %eax - addl %ecx, %eax - movl (%eax), %eax - subl $8, %esp - pushl %edx - pushl %eax - call Lcompare - addl $16, %esp - movl %eax, -12(%ebp) - cmpl $1, -12(%ebp) - je .L207 - movl -12(%ebp), %eax - addl %eax, %eax - orl $1, %eax - jmp .L189 -.L207: - addl $1, -48(%ebp) -.L206: - movl -48(%ebp), %eax - cmpl -28(%ebp), %eax - jl .L208 - movl $1, %eax -.L189: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE40: - .size Lcompare, .-Lcompare - .section .rodata -.LC65: - .string ".elem:1" -.LC66: - .string ".elem:2" - .text - .globl Belem - .type Belem, @function -Belem: -.LFB41: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl $1, -12(%ebp) - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L210 - subl $8, %esp - leal .LC65@GOTOFF(%ebx), %eax - pushl %eax - leal .LC32@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L210: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L211 - subl $8, %esp - leal .LC66@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L211: - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -12(%ebp) - sarl 12(%ebp) - movl -12(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - jne .L212 - movl -12(%ebp), %edx - movl 12(%ebp), %eax - addl %edx, %eax - addl $4, %eax - movzbl (%eax), %eax - movsbl %al, %eax - addl %eax, %eax - orl $1, %eax - jmp .L213 -.L212: - movl -12(%ebp), %eax - leal 4(%eax), %edx - movl 12(%ebp), %eax - sall $2, %eax - addl %edx, %eax - movl (%eax), %eax -.L213: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE41: - .size Belem, .-Belem - .section .rodata -.LC67: - .string "makeArray:1" - .text - .globl LmakeArray - .type LmakeArray, @function -LmakeArray: -.LFB42: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L215 - subl $8, %esp - leal .LC67@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L215: - call __pre_gc@PLT - movl 8(%ebp), %eax - sarl %eax - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - addl $1, %eax - sall $2, %eax - subl $12, %esp - pushl %eax - call alloc - addl $16, %esp - movl %eax, -12(%ebp) - movl -16(%ebp), %eax - sall $3, %eax - orl $3, %eax - movl %eax, %edx - movl -12(%ebp), %eax - movl %edx, (%eax) - call __post_gc@PLT - movl -12(%ebp), %eax - addl $4, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE42: - .size LmakeArray, .-LmakeArray - .section .rodata -.LC68: - .string "makeString" - .text - .globl LmakeString - .type LmakeString, @function -LmakeString: -.LFB43: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - sarl %eax - movl %eax, -16(%ebp) - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L218 - subl $8, %esp - leal .LC68@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L218: - call __pre_gc@PLT - movl -16(%ebp), %eax - addl $5, %eax - subl $12, %esp - pushl %eax - call alloc - addl $16, %esp - movl %eax, -12(%ebp) - movl -16(%ebp), %eax - sall $3, %eax - orl $1, %eax - movl %eax, %edx - movl -12(%ebp), %eax - movl %edx, (%eax) - call __post_gc@PLT - movl -12(%ebp), %eax - addl $4, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE43: - .size LmakeString, .-LmakeString - .globl Bstring - .type Bstring, @function -Bstring: -.LFB44: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - subl $12, %esp - pushl %eax - call strlen@PLT - addl $16, %esp - movl %eax, -16(%ebp) - movl $0, -12(%ebp) - call __pre_gc@PLT - subl $12, %esp - leal 8(%ebp), %eax - pushl %eax - call push_extra_root - addl $16, %esp - movl -16(%ebp), %eax - addl %eax, %eax - orl $1, %eax - subl $12, %esp - pushl %eax - call LmakeString - addl $16, %esp - movl %eax, -12(%ebp) - subl $12, %esp - leal 8(%ebp), %eax - pushl %eax - call pop_extra_root - addl $16, %esp - movl -16(%ebp), %eax - addl $1, %eax - movl %eax, %edx - movl 8(%ebp), %eax - subl $4, %esp - pushl %edx - pushl %eax - pushl -12(%ebp) - call strncpy@PLT - addl $16, %esp - call __post_gc@PLT - movl -12(%ebp), %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE44: - .size Bstring, .-Bstring - .section .rodata -.LC69: - .string "stringcat" - .text - .globl Lstringcat - .type Lstringcat, @function -Lstringcat: -.LFB45: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L223 - subl $8, %esp - leal .LC69@GOTOFF(%ebx), %eax - pushl %eax - leal .LC32@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L223: - call __pre_gc@PLT - call createStringBuf - subl $12, %esp - pushl 8(%ebp) - call stringcat - addl $16, %esp - movl stringBuf@GOTOFF(%ebx), %eax - subl $12, %esp - pushl %eax - call Bstring - addl $16, %esp - movl %eax, -12(%ebp) - call deleteStringBuf - call __post_gc@PLT - movl -12(%ebp), %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE45: - .size Lstringcat, .-Lstringcat - .globl Bstringval - .type Bstringval, @function -Bstringval: -.LFB46: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl $1, -12(%ebp) - call __pre_gc@PLT - call createStringBuf - subl $12, %esp - pushl 8(%ebp) - call printValue - addl $16, %esp - movl stringBuf@GOTOFF(%ebx), %eax - subl $12, %esp - pushl %eax - call Bstring - addl $16, %esp - movl %eax, -12(%ebp) - call deleteStringBuf - call __post_gc@PLT - movl -12(%ebp), %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE46: - .size Bstringval, .-Bstringval - .globl Bclosure - .type Bclosure, @function -Bclosure: -.LFB47: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $52, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 12(%ebp), %eax - movl %eax, -44(%ebp) - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - movl $1, -28(%ebp) - movl $1, -24(%ebp) - movl $1, -20(%ebp) - movl $1, -16(%ebp) - call __pre_gc@PLT - movl 8(%ebp), %eax - addl $2, %eax - sall $2, %eax - subl $12, %esp - pushl %eax - call alloc - addl $16, %esp - movl %eax, -16(%ebp) - movl 8(%ebp), %eax - addl $1, %eax - sall $3, %eax - orl $7, %eax - movl %eax, %edx - movl -16(%ebp), %eax - movl %edx, (%eax) - movl -16(%ebp), %eax - leal 4(%eax), %edx - movl -44(%ebp), %eax - movl %eax, (%edx) - leal 16(%ebp), %eax - movl %eax, -28(%ebp) - movl $0, -24(%ebp) - jmp .L228 -.L229: - movl -28(%ebp), %eax - leal 4(%eax), %edx - movl %edx, -28(%ebp) - movl (%eax), %eax - movl %eax, -20(%ebp) - movl -16(%ebp), %eax - leal 4(%eax), %edx - movl -24(%ebp), %eax - addl $1, %eax - sall $2, %eax - addl %eax, %edx - movl -20(%ebp), %eax - movl %eax, (%edx) - addl $1, -24(%ebp) -.L228: - movl -24(%ebp), %eax - cmpl 8(%ebp), %eax - jl .L229 - call __post_gc@PLT - movl -16(%ebp), %eax - addl $4, %eax - movl -12(%ebp), %ecx - xorl %gs:20, %ecx - je .L231 - call __stack_chk_fail_local -.L231: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE47: - .size Bclosure, .-Bclosure - .globl Barray - .type Barray, @function -Barray: -.LFB48: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $36, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - movl $1, -28(%ebp) - movl $1, -24(%ebp) - movl $1, -20(%ebp) - movl $1, -16(%ebp) - call __pre_gc@PLT - movl 8(%ebp), %eax - addl $1, %eax - sall $2, %eax - subl $12, %esp - pushl %eax - call alloc - addl $16, %esp - movl %eax, -16(%ebp) - movl 8(%ebp), %eax - sall $3, %eax - orl $3, %eax - movl %eax, %edx - movl -16(%ebp), %eax - movl %edx, (%eax) - leal 12(%ebp), %eax - movl %eax, -28(%ebp) - movl $0, -24(%ebp) - jmp .L233 -.L234: - movl -28(%ebp), %eax - leal 4(%eax), %edx - movl %edx, -28(%ebp) - movl (%eax), %eax - movl %eax, -20(%ebp) - movl -16(%ebp), %eax - leal 4(%eax), %edx - movl -24(%ebp), %eax - sall $2, %eax - addl %eax, %edx - movl -20(%ebp), %eax - movl %eax, (%edx) - addl $1, -24(%ebp) -.L233: - movl -24(%ebp), %eax - cmpl 8(%ebp), %eax - jl .L234 - call __post_gc@PLT - movl -16(%ebp), %eax - addl $4, %eax - movl -12(%ebp), %ecx - xorl %gs:20, %ecx - je .L236 - call __stack_chk_fail_local -.L236: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE48: - .size Barray, .-Barray - .globl Bsexp - .type Bsexp, @function -Bsexp: -.LFB49: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $36, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - movl $1, -36(%ebp) - movl $1, -32(%ebp) - movl $1, -28(%ebp) - movl $0, -24(%ebp) - movl $1, -20(%ebp) - movl $1, -16(%ebp) - call __pre_gc@PLT - movl 8(%ebp), %eax - addl $1, %eax - sall $2, %eax - subl $12, %esp - pushl %eax - call alloc - addl $16, %esp - movl %eax, -20(%ebp) - movl -20(%ebp), %eax - addl $4, %eax - movl %eax, -16(%ebp) - movl -20(%ebp), %eax - movl $0, (%eax) - movl 8(%ebp), %eax - subl $1, %eax - sall $3, %eax - orl $5, %eax - movl %eax, %edx - movl -16(%ebp), %eax - movl %edx, (%eax) - leal 12(%ebp), %eax - movl %eax, -36(%ebp) - movl $0, -32(%ebp) - jmp .L238 -.L239: - movl -36(%ebp), %eax - leal 4(%eax), %edx - movl %edx, -36(%ebp) - movl (%eax), %eax - movl %eax, -28(%ebp) - movl -28(%ebp), %eax - movl %eax, -24(%ebp) - movl -16(%ebp), %eax - leal 4(%eax), %edx - movl -32(%ebp), %eax - sall $2, %eax - addl %eax, %edx - movl -28(%ebp), %eax - movl %eax, (%edx) - addl $1, -32(%ebp) -.L238: - movl 8(%ebp), %eax - subl $1, %eax - cmpl %eax, -32(%ebp) - jl .L239 - movl -36(%ebp), %eax - leal 4(%eax), %edx - movl %edx, -36(%ebp) - movl (%eax), %edx - movl -20(%ebp), %eax - movl %edx, (%eax) - call __post_gc@PLT - movl -16(%ebp), %eax - addl $4, %eax - movl -12(%ebp), %ecx - xorl %gs:20, %ecx - je .L241 - call __stack_chk_fail_local -.L241: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE49: - .size Bsexp, .-Bsexp - .globl Btag - .type Btag, @function -Btag: -.LFB50: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $16, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl $1, -4(%ebp) - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L243 - movl $1, %eax - jmp .L244 -.L243: - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -4(%ebp) - movl -4(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - cmpl $5, %eax - jne .L245 - movl 8(%ebp), %eax - subl $8, %eax - movl (%eax), %eax - cmpl %eax, 12(%ebp) - jne .L245 - movl -4(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, %edx - movl 16(%ebp), %eax - cmpl %eax, %edx - jne .L245 - movl $1, %eax - jmp .L246 -.L245: - movl $0, %eax -.L246: - addl %eax, %eax - orl $1, %eax -.L244: - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE50: - .size Btag, .-Btag - .globl Barray_patt - .type Barray_patt, @function -Barray_patt: -.LFB51: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $16, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl $1, -4(%ebp) - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L248 - movl $1, %eax - jmp .L249 -.L248: - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -4(%ebp) - movl -4(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - cmpl $3, %eax - jne .L250 - movl -4(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, %edx - movl 12(%ebp), %eax - cmpl %eax, %edx - jne .L250 - movl $1, %eax - jmp .L251 -.L250: - movl $0, %eax -.L251: - addl %eax, %eax - orl $1, %eax -.L249: - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE51: - .size Barray_patt, .-Barray_patt - .section .rodata -.LC70: - .string ".string_patt:2" - .text - .globl Bstring_patt - .type Bstring_patt, @function -Bstring_patt: -.LFB52: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl $1, -16(%ebp) - movl $1, -12(%ebp) - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L253 - movl 12(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L253 - subl $8, %esp - leal .LC70@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L253: - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L254 - movl $1, %eax - jmp .L255 -.L254: - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -16(%ebp) - movl 12(%ebp), %eax - subl $4, %eax - movl %eax, -12(%ebp) - movl -16(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L256 - movl $1, %eax - jmp .L255 -.L256: - movl -12(%ebp), %eax - leal 4(%eax), %edx - movl -16(%ebp), %eax - addl $4, %eax - subl $8, %esp - pushl %edx - pushl %eax - call strcmp@PLT - addl $16, %esp - testl %eax, %eax - jne .L257 - movl $3, %eax - jmp .L255 -.L257: - movl $1, %eax -.L255: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE52: - .size Bstring_patt, .-Bstring_patt - .globl Bclosure_tag_patt - .type Bclosure_tag_patt, @function -Bclosure_tag_patt: -.LFB53: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L260 - movl $1, %eax - jmp .L261 -.L260: - movl 8(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $7, %eax - jne .L262 - movl $3, %eax - jmp .L261 -.L262: - movl $1, %eax -.L261: - popl %ebp - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE53: - .size Bclosure_tag_patt, .-Bclosure_tag_patt - .globl Bboxed_patt - .type Bboxed_patt, @function -Bboxed_patt: -.LFB54: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L265 - movl $3, %eax - jmp .L267 -.L265: - movl $1, %eax -.L267: - popl %ebp - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE54: - .size Bboxed_patt, .-Bboxed_patt - .globl Bunboxed_patt - .type Bunboxed_patt, @function -Bunboxed_patt: -.LFB55: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %eax - addl %eax, %eax - andl $2, %eax - orl $1, %eax - popl %ebp - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE55: - .size Bunboxed_patt, .-Bunboxed_patt - .globl Barray_tag_patt - .type Barray_tag_patt, @function -Barray_tag_patt: -.LFB56: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L271 - movl $1, %eax - jmp .L272 -.L271: - movl 8(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $3, %eax - jne .L273 - movl $3, %eax - jmp .L272 -.L273: - movl $1, %eax -.L272: - popl %ebp - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE56: - .size Barray_tag_patt, .-Barray_tag_patt - .globl Bstring_tag_patt - .type Bstring_tag_patt, @function -Bstring_tag_patt: -.LFB57: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L276 - movl $1, %eax - jmp .L277 -.L276: - movl 8(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - jne .L278 - movl $3, %eax - jmp .L277 -.L278: - movl $1, %eax -.L277: - popl %ebp - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE57: - .size Bstring_tag_patt, .-Bstring_tag_patt - .globl Bsexp_tag_patt - .type Bsexp_tag_patt, @function -Bsexp_tag_patt: -.LFB58: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L281 - movl $1, %eax - jmp .L282 -.L281: - movl 8(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $5, %eax - jne .L283 - movl $3, %eax - jmp .L282 -.L283: - movl $1, %eax -.L282: - popl %ebp - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE58: - .size Bsexp_tag_patt, .-Bsexp_tag_patt - .section .rodata -.LC71: - .string ".sta:3" -.LC72: - .string ".sta:2" - .text - .globl Bsta - .type Bsta, @function -Bsta: -.LFB59: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 16(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L286 - subl $8, %esp - leal .LC71@GOTOFF(%ebx), %eax - pushl %eax - leal .LC32@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L286: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L287 - subl $8, %esp - leal .LC72@GOTOFF(%ebx), %eax - pushl %eax - leal .LC5@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L287: - movl 16(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - jne .L288 - movl 8(%ebp), %eax - sarl %eax - movl %eax, %edx - movl 12(%ebp), %eax - sarl %eax - movl %eax, %ecx - movl 16(%ebp), %eax - addl %ecx, %eax - movb %dl, (%eax) - jmp .L289 -.L288: - movl 12(%ebp), %eax - sarl %eax - leal 0(,%eax,4), %edx - movl 16(%ebp), %eax - addl %eax, %edx - movl 8(%ebp), %eax - movl %eax, (%edx) -.L289: - movl 8(%ebp), %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE59: - .size Bsta, .-Bsta - .type fix_unboxed, @function -fix_unboxed: -.LFB60: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $16, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 12(%ebp), %eax - movl %eax, -8(%ebp) - movl $0, -12(%ebp) - jmp .L292 -.L295: - movl 8(%ebp), %eax - movzbl (%eax), %eax - cmpb $37, %al - jne .L293 - movl -12(%ebp), %eax - leal 0(,%eax,4), %edx - movl -8(%ebp), %eax - addl %edx, %eax - movl (%eax), %eax - movl %eax, -4(%ebp) - movl -4(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L294 - movl -4(%ebp), %eax - sarl %eax - movl %eax, %edx - movl -12(%ebp), %eax - leal 0(,%eax,4), %ecx - movl -8(%ebp), %eax - addl %ecx, %eax - movl %edx, (%eax) -.L294: - addl $1, -12(%ebp) -.L293: - addl $1, 8(%ebp) -.L292: - movl 8(%ebp), %eax - movzbl (%eax), %eax - testb %al, %al - jne .L295 - nop - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE60: - .size fix_unboxed, .-fix_unboxed - .globl Lfailure - .type Lfailure, @function -Lfailure: -.LFB61: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $40, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %eax - movl %eax, -28(%ebp) - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - leal 12(%ebp), %eax - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - pushl %eax - pushl -28(%ebp) - call fix_unboxed - addl $8, %esp - movl -16(%ebp), %eax - subl $8, %esp - pushl %eax - pushl -28(%ebp) - call vfailure - addl $16, %esp - nop - movl -12(%ebp), %eax - xorl %gs:20, %eax - je .L297 - call __stack_chk_fail_local -.L297: - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE61: - .size Lfailure, .-Lfailure - .section .rodata - .align 4 -.LC73: - .string "match failure at %s:%d:%d, value '%s'\n" - .text - .globl Bmatch_failure - .type Bmatch_failure, @function -Bmatch_failure: -.LFB62: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - call createStringBuf - subl $12, %esp - pushl 8(%ebp) - call printValue - addl $16, %esp - movl stringBuf@GOTOFF(%ebx), %eax - subl $12, %esp - pushl %eax - pushl 20(%ebp) - pushl 16(%ebp) - pushl 12(%ebp) - leal .LC73@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $32, %esp - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE62: - .size Bmatch_failure, .-Bmatch_failure - .section .rodata -.LC74: - .string "++:1" -.LC75: - .string "++:2" - .text - .globl Li__Infix_4343 - .type Li__Infix_4343, @function -Li__Infix_4343: -.LFB63: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %esi - pushl %ebx - subl $16, %esp - .cfi_offset 6, -12 - .cfi_offset 3, -16 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl $1, -20(%ebp) - movl $1, -16(%ebp) - movl $1, -12(%ebp) - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L300 - movl 8(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L300 - subl $8, %esp - leal .LC74@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L300: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L301 - movl 12(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L301 - subl $8, %esp - leal .LC75@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L301: - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -20(%ebp) - movl 12(%ebp), %eax - subl $4, %eax - movl %eax, -16(%ebp) - call __pre_gc@PLT - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, %edx - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - addl %edx, %eax - addl $5, %eax - subl $12, %esp - pushl %eax - call alloc - addl $16, %esp - movl %eax, -12(%ebp) - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, %edx - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - addl %edx, %eax - sall $3, %eax - orl $1, %eax - movl %eax, %edx - movl -12(%ebp), %eax - movl %edx, (%eax) - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, %ecx - movl -20(%ebp), %eax - leal 4(%eax), %edx - movl -12(%ebp), %eax - addl $4, %eax - subl $4, %esp - pushl %ecx - pushl %edx - pushl %eax - call strncpy@PLT - addl $16, %esp - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, %ecx - movl -16(%ebp), %eax - leal 4(%eax), %edx - movl -12(%ebp), %eax - leal 4(%eax), %esi - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - addl %esi, %eax - subl $4, %esp - pushl %ecx - pushl %edx - pushl %eax - call strncpy@PLT - addl $16, %esp - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, %edx - movl -16(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - addl %eax, %edx - movl -12(%ebp), %eax - movb $0, 4(%eax,%edx) - call __post_gc@PLT - movl -12(%ebp), %eax - addl $4, %eax - leal -8(%ebp), %esp - popl %ebx - .cfi_restore 3 - popl %esi - .cfi_restore 6 - popl %ebp - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE63: - .size Li__Infix_4343, .-Li__Infix_4343 - .section .rodata -.LC76: - .string "sprintf:1" - .text - .globl Lsprintf - .type Lsprintf, @function -Lsprintf: -.LFB64: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $36, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - movl %eax, -28(%ebp) - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - movl -28(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L304 - movl -28(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L304 - subl $8, %esp - leal .LC76@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L304: - leal 12(%ebp), %eax - movl %eax, -20(%ebp) - movl -20(%ebp), %eax - subl $8, %esp - pushl %eax - pushl -28(%ebp) - call fix_unboxed - addl $16, %esp - call createStringBuf - movl -20(%ebp), %eax - subl $8, %esp - pushl %eax - pushl -28(%ebp) - call vprintStringBuf - addl $16, %esp - call __pre_gc@PLT - movl stringBuf@GOTOFF(%ebx), %eax - subl $12, %esp - pushl %eax - call Bstring - addl $16, %esp - movl %eax, -16(%ebp) - call __post_gc@PLT - call deleteStringBuf - movl -16(%ebp), %eax - movl -12(%ebp), %edx - xorl %gs:20, %edx - je .L306 - call __stack_chk_fail_local -.L306: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE64: - .size Lsprintf, .-Lsprintf - .section .rodata -.LC77: - .string "fprintf:1" -.LC78: - .string "fprintf:2" -.LC79: - .string "fprintf (...): %s\n" - .text - .globl Lfprintf - .type Lfprintf, @function -Lfprintf: -.LFB65: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $36, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - movl %eax, -28(%ebp) - movl 12(%ebp), %eax - movl %eax, -32(%ebp) - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - movl $1, -16(%ebp) - movl -28(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L308 - subl $8, %esp - leal .LC77@GOTOFF(%ebx), %eax - pushl %eax - leal .LC32@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L308: - movl -32(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L309 - movl -32(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L309 - subl $8, %esp - leal .LC78@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L309: - leal 16(%ebp), %eax - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - subl $8, %esp - pushl %eax - pushl -32(%ebp) - call fix_unboxed - addl $16, %esp - movl -16(%ebp), %eax - subl $4, %esp - pushl %eax - pushl -32(%ebp) - pushl -28(%ebp) - call vfprintf@PLT - addl $16, %esp - testl %eax, %eax - jns .L312 - call __errno_location@PLT - movl (%eax), %eax - subl $12, %esp - pushl %eax - call strerror@PLT - addl $16, %esp - subl $8, %esp - pushl %eax - leal .LC79@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L312: - nop - movl -12(%ebp), %eax - xorl %gs:20, %eax - je .L311 - call __stack_chk_fail_local -.L311: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE65: - .size Lfprintf, .-Lfprintf - .section .rodata -.LC80: - .string "printf:1" - .text - .globl Lprintf - .type Lprintf, @function -Lprintf: -.LFB66: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $36, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - movl %eax, -28(%ebp) - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - movl $1, -16(%ebp) - movl -28(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L314 - movl -28(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L314 - subl $8, %esp - leal .LC80@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L314: - leal 12(%ebp), %eax - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - subl $8, %esp - pushl %eax - pushl -28(%ebp) - call fix_unboxed - addl $16, %esp - movl -16(%ebp), %eax - subl $8, %esp - pushl %eax - pushl -28(%ebp) - call vprintf@PLT - addl $16, %esp - testl %eax, %eax - jns .L315 - call __errno_location@PLT - movl (%eax), %eax - subl $12, %esp - pushl %eax - call strerror@PLT - addl $16, %esp - subl $8, %esp - pushl %eax - leal .LC79@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L315: - movl stdout@GOT(%ebx), %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call fflush@PLT - addl $16, %esp - nop - movl -12(%ebp), %eax - xorl %gs:20, %eax - je .L316 - call __stack_chk_fail_local -.L316: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE66: - .size Lprintf, .-Lprintf - .section .rodata -.LC81: - .string "fopen:1" -.LC82: - .string "fopen:2" - .align 4 -.LC83: - .string "fopen (\"%s\", \"%s\"): %s, %s, %s\n" - .text - .globl Lfopen - .type Lfopen, @function -Lfopen: -.LFB67: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L318 - movl 8(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L318 - subl $8, %esp - leal .LC81@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L318: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L319 - movl 12(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L319 - subl $8, %esp - leal .LC82@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L319: - subl $8, %esp - pushl 12(%ebp) - pushl 8(%ebp) - call fopen@PLT - addl $16, %esp - movl %eax, -12(%ebp) - cmpl $0, -12(%ebp) - je .L320 - movl -12(%ebp), %eax - jmp .L317 -.L320: - call __errno_location@PLT - movl (%eax), %eax - subl $12, %esp - pushl %eax - call strerror@PLT - addl $16, %esp - pushl %eax - pushl 12(%ebp) - pushl 8(%ebp) - leal .LC83@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L317: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE67: - .size Lfopen, .-Lfopen - .section .rodata -.LC84: - .string "fclose" - .text - .globl Lfclose - .type Lfclose, @function -Lfclose: -.LFB68: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - je .L323 - subl $8, %esp - leal .LC84@GOTOFF(%ebx), %eax - pushl %eax - leal .LC32@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L323: - subl $12, %esp - pushl 8(%ebp) - call fclose@PLT - addl $16, %esp - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE68: - .size Lfclose, .-Lfclose - .section .rodata -.LC85: - .string "%m[^\n]" -.LC86: - .string "readLine (): %s\n" - .text - .globl LreadLine - .type LreadLine, @function -LreadLine: -.LFB69: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - subl $8, %esp - leal -20(%ebp), %eax - pushl %eax - leal .LC85@GOTOFF(%ebx), %eax - pushl %eax - call __isoc99_scanf@PLT - addl $16, %esp - cmpl $1, %eax - jne .L325 - movl -20(%ebp), %eax - subl $12, %esp - pushl %eax - call Bstring - addl $16, %esp - movl %eax, -16(%ebp) - movl -20(%ebp), %eax - subl $12, %esp - pushl %eax - call free@PLT - addl $16, %esp - movl -16(%ebp), %eax - jmp .L328 -.L325: - call __errno_location@PLT - movl (%eax), %eax - testl %eax, %eax - je .L327 - call __errno_location@PLT - movl (%eax), %eax - subl $12, %esp - pushl %eax - call strerror@PLT - addl $16, %esp - subl $8, %esp - pushl %eax - leal .LC86@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L327: - subl $12, %esp - pushl $0 - call LmakeString - addl $16, %esp -.L328: - movl -12(%ebp), %edx - xorl %gs:20, %edx - je .L329 - call __stack_chk_fail_local -.L329: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE69: - .size LreadLine, .-LreadLine - .section .rodata -.LC87: - .string "fread" -.LC88: - .string "r" -.LC89: - .string "fread (\"%s\"): %s\n" - .text - .globl Lfread - .type Lfread, @function -Lfread: -.LFB70: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L331 - movl 8(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L331 - subl $8, %esp - leal .LC87@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L331: - subl $8, %esp - leal .LC88@GOTOFF(%ebx), %eax - pushl %eax - pushl 8(%ebp) - call fopen@PLT - addl $16, %esp - movl %eax, -20(%ebp) - cmpl $0, -20(%ebp) - je .L332 - subl $4, %esp - pushl $2 - pushl $0 - pushl -20(%ebp) - call fseek@PLT - addl $16, %esp - testl %eax, %eax - js .L332 - subl $12, %esp - pushl -20(%ebp) - call ftell@PLT - addl $16, %esp - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - addl %eax, %eax - orl $1, %eax - subl $12, %esp - pushl %eax - call LmakeString - addl $16, %esp - movl %eax, -12(%ebp) - subl $12, %esp - pushl -20(%ebp) - call rewind@PLT - addl $16, %esp - movl -16(%ebp), %eax - pushl -20(%ebp) - pushl %eax - pushl $1 - pushl -12(%ebp) - call fread@PLT - addl $16, %esp - movl %eax, %edx - movl -16(%ebp), %eax - cmpl %eax, %edx - jne .L332 - subl $12, %esp - pushl -20(%ebp) - call fclose@PLT - addl $16, %esp - movl -12(%ebp), %eax - jmp .L330 -.L332: - call __errno_location@PLT - movl (%eax), %eax - subl $12, %esp - pushl %eax - call strerror@PLT - addl $16, %esp - subl $4, %esp - pushl %eax - pushl 8(%ebp) - leal .LC89@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L330: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE70: - .size Lfread, .-Lfread - .section .rodata -.LC90: - .string "fwrite:1" -.LC91: - .string "fwrite:2" -.LC92: - .string "w" -.LC93: - .string "fwrite (\"%s\"): %s\n" - .text - .globl Lfwrite - .type Lfwrite, @function -Lfwrite: -.LFB71: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L335 - movl 8(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L335 - subl $8, %esp - leal .LC90@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L335: - movl 12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L336 - movl 12(%ebp), %eax - subl $4, %eax - movl (%eax), %eax - andl $7, %eax - cmpl $1, %eax - je .L336 - subl $8, %esp - leal .LC91@GOTOFF(%ebx), %eax - pushl %eax - leal .LC51@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L336: - subl $8, %esp - leal .LC92@GOTOFF(%ebx), %eax - pushl %eax - pushl 8(%ebp) - call fopen@PLT - addl $16, %esp - movl %eax, -12(%ebp) - cmpl $0, -12(%ebp) - je .L337 - subl $4, %esp - pushl 12(%ebp) - leal .LC45@GOTOFF(%ebx), %eax - pushl %eax - pushl -12(%ebp) - call fprintf@PLT - addl $16, %esp - testl %eax, %eax - js .L337 - subl $12, %esp - pushl -12(%ebp) - call fclose@PLT - addl $16, %esp - jmp .L334 -.L337: - call __errno_location@PLT - movl (%eax), %eax - subl $12, %esp - pushl %eax - call strerror@PLT - addl $16, %esp - subl $4, %esp - pushl %eax - pushl 8(%ebp) - leal .LC93@GOTOFF(%ebx), %eax - pushl %eax - call failure - addl $16, %esp -.L334: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE71: - .size Lfwrite, .-Lfwrite - .globl Lfst - .type Lfst, @function -Lfst: -.LFB72: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $8, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - subl $8, %esp - pushl $1 - pushl 8(%ebp) - call Belem - addl $16, %esp - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE72: - .size Lfst, .-Lfst - .globl Lsnd - .type Lsnd, @function -Lsnd: -.LFB73: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $8, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - subl $8, %esp - pushl $3 - pushl 8(%ebp) - call Belem - addl $16, %esp - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE73: - .size Lsnd, .-Lsnd - .globl Lhd - .type Lhd, @function -Lhd: -.LFB74: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $8, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - subl $8, %esp - pushl $1 - pushl 8(%ebp) - call Belem - addl $16, %esp - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE74: - .size Lhd, .-Lhd - .globl Ltl - .type Ltl, @function -Ltl: -.LFB75: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $8, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - subl $8, %esp - pushl $3 - pushl 8(%ebp) - call Belem - addl $16, %esp - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE75: - .size Ltl, .-Ltl - .section .rodata -.LC94: - .string "> " - .text - .globl Lread - .type Lread, @function -Lread: -.LFB76: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - movl $1, -16(%ebp) - subl $12, %esp - leal .LC94@GOTOFF(%ebx), %eax - pushl %eax - call printf@PLT - addl $16, %esp - movl stdout@GOT(%ebx), %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call fflush@PLT - addl $16, %esp - subl $8, %esp - leal -16(%ebp), %eax - pushl %eax - leal .LC34@GOTOFF(%ebx), %eax - pushl %eax - call __isoc99_scanf@PLT - addl $16, %esp - movl -16(%ebp), %eax - addl %eax, %eax - orl $1, %eax - movl -12(%ebp), %edx - xorl %gs:20, %edx - je .L349 - call __stack_chk_fail_local -.L349: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE76: - .size Lread, .-Lread - .section .rodata -.LC95: - .string "%d\n" - .text - .globl Lwrite - .type Lwrite, @function -Lwrite: -.LFB77: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - sarl %eax - subl $8, %esp - pushl %eax - leal .LC95@GOTOFF(%ebx), %eax - pushl %eax - call printf@PLT - addl $16, %esp - movl stdout@GOT(%ebx), %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call fflush@PLT - addl $16, %esp - movl $0, %eax - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE77: - .size Lwrite, .-Lwrite - .globl set_args - .type set_args, @function -set_args: -.LFB78: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $36, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 12(%ebp), %eax - movl %eax, -28(%ebp) - movl %gs:20, %eax - movl %eax, -12(%ebp) - xorl %eax, %eax - movl 8(%ebp), %eax - movl %eax, -16(%ebp) - movl $0, -24(%ebp) - call __pre_gc@PLT - movl -16(%ebp), %eax - addl %eax, %eax - orl $1, %eax - subl $12, %esp - pushl %eax - call LmakeArray - addl $16, %esp - movl %eax, -24(%ebp) - subl $12, %esp - leal -24(%ebp), %eax - pushl %eax - call push_extra_root - addl $16, %esp - movl $0, -20(%ebp) - jmp .L353 -.L354: - movl -20(%ebp), %eax - leal 0(,%eax,4), %edx - movl -28(%ebp), %eax - addl %edx, %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call Bstring - addl $16, %esp - movl %eax, %ecx - movl -24(%ebp), %eax - movl -20(%ebp), %edx - sall $2, %edx - addl %edx, %eax - movl %ecx, %edx - movl %edx, (%eax) - addl $1, -20(%ebp) -.L353: - movl -20(%ebp), %eax - cmpl -16(%ebp), %eax - jl .L354 - subl $12, %esp - leal -24(%ebp), %eax - pushl %eax - call pop_extra_root - addl $16, %esp - call __post_gc@PLT - movl -24(%ebp), %edx - movl global_sysargs@GOT(%ebx), %eax - movl %edx, (%eax) - subl $12, %esp - movl global_sysargs@GOT(%ebx), %eax - pushl %eax - call push_extra_root - addl $16, %esp - nop - movl -12(%ebp), %eax - xorl %gs:20, %eax - je .L355 - call __stack_chk_fail_local -.L355: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE78: - .size set_args, .-set_args - .data - .align 4 - .type SPACE_SIZE, @object - .size SPACE_SIZE, 4 -SPACE_SIZE: - .long 16384 - .text - .type free_pool, @function -free_pool: -.LFB79: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %edx - movl (%edx), %edx - movl %edx, -16(%ebp) - movl 8(%ebp), %edx - movl 12(%edx), %edx - movl %edx, -12(%ebp) - movl 8(%ebp), %edx - movl $0, (%edx) - movl 8(%ebp), %edx - movl $0, 12(%edx) - movl 8(%ebp), %edx - movl $0, 4(%edx) - movl 8(%ebp), %edx - movl $0, 8(%edx) - subl $8, %esp - pushl -12(%ebp) - pushl -16(%ebp) - movl %eax, %ebx - call munmap@PLT - addl $16, %esp - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE79: - .size free_pool, .-free_pool - .section .rodata - .align 4 -.LC96: - .string "EROOR: init_to_space: mmap failed\n" - .text - .type init_to_space, @function -init_to_space: -.LFB80: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl $0, -12(%ebp) - cmpl $0, 8(%ebp) - je .L359 - movl SPACE_SIZE@GOTOFF(%ebx), %eax - addl %eax, %eax - movl %eax, SPACE_SIZE@GOTOFF(%ebx) -.L359: - movl SPACE_SIZE@GOTOFF(%ebx), %eax - sall $2, %eax - movl %eax, -12(%ebp) - subl $8, %esp - pushl $0 - pushl $-1 - pushl $98 - pushl $3 - pushl -12(%ebp) - pushl $0 - call mmap@PLT - addl $32, %esp - movl %eax, to_space@GOTOFF(%ebx) - movl to_space@GOTOFF(%ebx), %eax - cmpl $-1, %eax - jne .L360 - subl $12, %esp - leal .LC96@GOTOFF(%ebx), %eax - pushl %eax - call perror@PLT - addl $16, %esp - subl $12, %esp - pushl $1 - call exit@PLT -.L360: - movl to_space@GOTOFF(%ebx), %eax - movl %eax, 8+to_space@GOTOFF(%ebx) - movl to_space@GOTOFF(%ebx), %eax - movl SPACE_SIZE@GOTOFF(%ebx), %edx - sall $2, %edx - addl %edx, %eax - movl %eax, 4+to_space@GOTOFF(%ebx) - movl SPACE_SIZE@GOTOFF(%ebx), %eax - movl %eax, 12+to_space@GOTOFF(%ebx) - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE80: - .size init_to_space, .-init_to_space - .type gc_swap_spaces, @function -gc_swap_spaces: -.LFB81: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $4, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - subl $12, %esp - leal from_space@GOTOFF(%ebx), %eax - pushl %eax - call free_pool - addl $16, %esp - movl to_space@GOTOFF(%ebx), %eax - movl %eax, from_space@GOTOFF(%ebx) - movl current@GOT(%ebx), %eax - movl (%eax), %eax - movl %eax, 8+from_space@GOTOFF(%ebx) - movl 4+to_space@GOTOFF(%ebx), %eax - movl %eax, 4+from_space@GOTOFF(%ebx) - movl 12+to_space@GOTOFF(%ebx), %eax - movl %eax, 12+from_space@GOTOFF(%ebx) - movl $0, to_space@GOTOFF(%ebx) - movl $0, 8+to_space@GOTOFF(%ebx) - movl $0, 4+to_space@GOTOFF(%ebx) - movl $0, 12+to_space@GOTOFF(%ebx) - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE81: - .size gc_swap_spaces, .-gc_swap_spaces - .type copy_elements, @function -copy_elements: -.LFB82: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl $0, -20(%ebp) - movl $0, -16(%ebp) - movl $0, -20(%ebp) - jmp .L363 -.L367: - movl -20(%ebp), %eax - leal 0(,%eax,4), %edx - movl 12(%ebp), %eax - addl %edx, %eax - movl (%eax), %eax - movl %eax, -12(%ebp) - movl -12(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L364 - movl from_space@GOTOFF(%ebx), %edx - movl -12(%ebp), %eax - cmpl %eax, %edx - ja .L364 - movl 4+from_space@GOTOFF(%ebx), %edx - movl -12(%ebp), %eax - cmpl %eax, %edx - ja .L365 -.L364: - movl 8(%ebp), %eax - movl -12(%ebp), %edx - movl %edx, (%eax) - addl $4, 8(%ebp) - jmp .L366 -.L365: - movl -12(%ebp), %eax - subl $12, %esp - pushl %eax - call gc_copy - addl $16, %esp - movl %eax, -16(%ebp) - movl -16(%ebp), %edx - movl 8(%ebp), %eax - movl %edx, (%eax) - addl $4, 8(%ebp) -.L366: - addl $1, -20(%ebp) -.L363: - movl -20(%ebp), %eax - cmpl 16(%ebp), %eax - jl .L367 - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE82: - .size copy_elements, .-copy_elements - .type extend_spaces, @function -extend_spaces: -.LFB83: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl $1, -20(%ebp) - movl SPACE_SIZE@GOTOFF(%ebx), %eax - sall $2, %eax - movl %eax, -16(%ebp) - movl SPACE_SIZE@GOTOFF(%ebx), %eax - sall $3, %eax - movl %eax, -12(%ebp) - movl to_space@GOTOFF(%ebx), %eax - pushl $0 - pushl -12(%ebp) - pushl -16(%ebp) - pushl %eax - call mremap@PLT - addl $16, %esp - movl %eax, -20(%ebp) - cmpl $-1, -20(%ebp) - jne .L369 - movl $1, %eax - jmp .L370 -.L369: - movl 4+to_space@GOTOFF(%ebx), %eax - movl SPACE_SIZE@GOTOFF(%ebx), %edx - sall $2, %edx - addl %edx, %eax - movl %eax, 4+to_space@GOTOFF(%ebx) - movl SPACE_SIZE@GOTOFF(%ebx), %eax - addl %eax, %eax - movl %eax, SPACE_SIZE@GOTOFF(%ebx) - movl SPACE_SIZE@GOTOFF(%ebx), %eax - movl %eax, 12+to_space@GOTOFF(%ebx) - movl $0, %eax -.L370: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE83: - .size extend_spaces, .-extend_spaces - .section .rodata -.LC97: - .string "ERROR: gc_copy: out-of-space\n" -.LC98: - .string "ERROR: gc_copy: weird tag" - .text - .globl gc_copy - .type gc_copy, @function -gc_copy: -.LFB84: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl 8(%ebp), %eax - subl $4, %eax - movl %eax, -20(%ebp) - movl $0, -16(%ebp) - movl $0, -24(%ebp) - movl $0, -12(%ebp) - movl 8(%ebp), %eax - andl $1, %eax - testl %eax, %eax - jne .L372 - movl from_space@GOTOFF(%ebx), %eax - cmpl %eax, 8(%ebp) - jb .L372 - movl 4+from_space@GOTOFF(%ebx), %eax - cmpl %eax, 8(%ebp) - jb .L373 -.L372: - movl 8(%ebp), %eax - jmp .L374 -.L373: - movl to_space@GOTOFF(%ebx), %edx - movl current@GOT(%ebx), %eax - movl (%eax), %eax - cmpl %eax, %edx - ja .L375 - movl 4+to_space@GOTOFF(%ebx), %edx - movl current@GOT(%ebx), %eax - movl (%eax), %eax - cmpl %eax, %edx - ja .L376 -.L375: - movl 4+to_space@GOTOFF(%ebx), %edx - movl current@GOT(%ebx), %eax - movl (%eax), %eax - cmpl %eax, %edx - je .L376 - subl $12, %esp - leal .LC97@GOTOFF(%ebx), %eax - pushl %eax - call perror@PLT - addl $16, %esp - subl $12, %esp - pushl $1 - call exit@PLT -.L376: - movl -20(%ebp), %eax - movl (%eax), %eax - andl $1, %eax - testl %eax, %eax - jne .L377 - movl to_space@GOTOFF(%ebx), %edx - movl -20(%ebp), %eax - movl (%eax), %eax - cmpl %eax, %edx - ja .L377 - movl 4+to_space@GOTOFF(%ebx), %edx - movl -20(%ebp), %eax - movl (%eax), %eax - cmpl %eax, %edx - jbe .L377 - movl -20(%ebp), %eax - movl (%eax), %eax - jmp .L374 -.L377: - movl current@GOT(%ebx), %eax - movl (%eax), %eax - movl %eax, -24(%ebp) - movl -20(%ebp), %eax - movl (%eax), %eax - andl $7, %eax - cmpl $3, %eax - je .L379 - cmpl $3, %eax - jg .L380 - cmpl $1, %eax - je .L381 - jmp .L378 -.L380: - cmpl $5, %eax - je .L382 - cmpl $7, %eax - jne .L378 - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, -12(%ebp) - movl current@GOT(%ebx), %eax - movl (%eax), %edx - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - addl $1, %eax - sall $2, %eax - addl %eax, %edx - movl current@GOT(%ebx), %eax - movl %edx, (%eax) - movl -20(%ebp), %eax - movl (%eax), %eax - movl %eax, %edx - movl -24(%ebp), %eax - movl %edx, (%eax) - addl $4, -24(%ebp) - movl -24(%ebp), %edx - movl -20(%ebp), %eax - movl %edx, (%eax) - subl $4, %esp - pushl -12(%ebp) - pushl 8(%ebp) - pushl -24(%ebp) - call copy_elements - addl $16, %esp - jmp .L384 -.L379: - movl current@GOT(%ebx), %eax - movl (%eax), %edx - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - addl $1, %eax - sall $2, %eax - subl $1, %eax - andl $-4, %eax - addl $4, %eax - addl %eax, %edx - movl current@GOT(%ebx), %eax - movl %edx, (%eax) - movl -20(%ebp), %eax - movl (%eax), %eax - movl %eax, %edx - movl -24(%ebp), %eax - movl %edx, (%eax) - addl $4, -24(%ebp) - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - movl %eax, -12(%ebp) - movl -24(%ebp), %edx - movl -20(%ebp), %eax - movl %edx, (%eax) - subl $4, %esp - pushl -12(%ebp) - pushl 8(%ebp) - pushl -24(%ebp) - call copy_elements - addl $16, %esp - jmp .L384 -.L381: - movl current@GOT(%ebx), %eax - movl (%eax), %edx - movl -20(%ebp), %eax - movl (%eax), %eax - shrl $3, %eax - addl $4, %eax - andl $-4, %eax - addl $4, %eax - addl %eax, %edx - movl current@GOT(%ebx), %eax - movl %edx, (%eax) - movl -20(%ebp), %eax - movl (%eax), %eax - movl %eax, %edx - movl -24(%ebp), %eax - movl %edx, (%eax) - addl $4, -24(%ebp) - movl -24(%ebp), %edx - movl -20(%ebp), %eax - movl %edx, (%eax) - subl $8, %esp - pushl 8(%ebp) - pushl -24(%ebp) - call strcpy@PLT - addl $16, %esp - jmp .L384 -.L382: - movl 8(%ebp), %eax - subl $8, %eax - movl %eax, -16(%ebp) - movl -16(%ebp), %eax - movl 4(%eax), %eax - shrl $3, %eax - movl %eax, -12(%ebp) - movl current@GOT(%ebx), %eax - movl (%eax), %eax - movl -12(%ebp), %edx - addl $2, %edx - sall $2, %edx - addl %eax, %edx - movl current@GOT(%ebx), %eax - movl %edx, (%eax) - movl -16(%ebp), %eax - movl (%eax), %eax - movl %eax, %edx - movl -24(%ebp), %eax - movl %edx, (%eax) - addl $4, -24(%ebp) - movl -20(%ebp), %eax - movl (%eax), %eax - movl %eax, %edx - movl -24(%ebp), %eax - movl %edx, (%eax) - addl $4, -24(%ebp) - movl -24(%ebp), %edx - movl -20(%ebp), %eax - movl %edx, (%eax) - subl $4, %esp - pushl -12(%ebp) - pushl 8(%ebp) - pushl -24(%ebp) - call copy_elements - addl $16, %esp - jmp .L384 -.L378: - subl $12, %esp - leal .LC98@GOTOFF(%ebx), %eax - pushl %eax - call perror@PLT - addl $16, %esp - subl $12, %esp - pushl $1 - call exit@PLT -.L384: - movl -24(%ebp), %eax -.L374: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE84: - .size gc_copy, .-gc_copy - .globl gc_test_and_copy_root - .type gc_test_and_copy_root, @function -gc_test_and_copy_root: -.LFB85: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $8, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl 8(%ebp), %edx - movl (%edx), %edx - andl $1, %edx - testl %edx, %edx - jne .L387 - movl from_space@GOTOFF(%eax), %ecx - movl 8(%ebp), %edx - movl (%edx), %edx - cmpl %edx, %ecx - ja .L387 - movl 4+from_space@GOTOFF(%eax), %edx - movl 8(%ebp), %eax - movl (%eax), %eax - cmpl %eax, %edx - jbe .L387 - movl 8(%ebp), %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call gc_copy - addl $16, %esp - movl %eax, %edx - movl 8(%ebp), %eax - movl %edx, (%eax) -.L387: - nop - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE85: - .size gc_test_and_copy_root, .-gc_test_and_copy_root - .globl gc_root_scan_data - .type gc_root_scan_data, @function -gc_root_scan_data: -.LFB86: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl __start_custom_data@GOT(%ebx), %eax - movl %eax, -12(%ebp) - jmp .L389 -.L390: - subl $12, %esp - pushl -12(%ebp) - call gc_test_and_copy_root - addl $16, %esp - addl $4, -12(%ebp) -.L389: - movl __stop_custom_data@GOT(%ebx), %eax - cmpl %eax, -12(%ebp) - jb .L390 - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE86: - .size gc_root_scan_data, .-gc_root_scan_data - .type init_extra_roots, @function -init_extra_roots: -.LFB87: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl $0, extra_roots@GOTOFF(%eax) - nop - popl %ebp - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE87: - .size init_extra_roots, .-init_extra_roots - .section .rodata - .align 4 -.LC99: - .string "EROOR: init_pool: mmap failed\n" - .text - .globl init_pool - .type init_pool, @function -init_pool: -.LFB88: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl SPACE_SIZE@GOTOFF(%ebx), %eax - sall $2, %eax - movl %eax, -12(%ebp) - subl $8, %esp - pushl $0 - pushl $-1 - pushl $98 - pushl $3 - pushl -12(%ebp) - pushl $0 - call mmap@PLT - addl $32, %esp - movl %eax, from_space@GOTOFF(%ebx) - movl $0, to_space@GOTOFF(%ebx) - movl to_space@GOTOFF(%ebx), %eax - cmpl $-1, %eax - jne .L393 - subl $12, %esp - leal .LC99@GOTOFF(%ebx), %eax - pushl %eax - call perror@PLT - addl $16, %esp - subl $12, %esp - pushl $1 - call exit@PLT -.L393: - movl from_space@GOTOFF(%ebx), %eax - movl %eax, 8+from_space@GOTOFF(%ebx) - movl from_space@GOTOFF(%ebx), %eax - movl SPACE_SIZE@GOTOFF(%ebx), %edx - sall $2, %edx - addl %edx, %eax - movl %eax, 4+from_space@GOTOFF(%ebx) - movl SPACE_SIZE@GOTOFF(%ebx), %eax - movl %eax, 12+from_space@GOTOFF(%ebx) - movl $0, 8+to_space@GOTOFF(%ebx) - movl $0, 4+to_space@GOTOFF(%ebx) - movl $0, 12+to_space@GOTOFF(%ebx) - call init_extra_roots - nop - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE88: - .size init_pool, .-init_pool - .section .rodata - .align 4 -.LC100: - .string "gc: ASSERT: !IN_PASSIVE_SPACE(current) to_begin = %p to_end = %p current = %p\n" - .align 4 -.LC101: - .string "ASSERT: !IN_PASSIVE_SPACE(current)\n" -.LC102: - .string "runtime.c" -.LC103: - .string "IN_PASSIVE_SPACE(current)" -.LC104: - .string "current + size < to_space.end" - .text - .type gc, @function -gc: -.LFB89: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - pushl %ebx - subl $20, %esp - .cfi_offset 3, -12 - call __x86.get_pc_thunk.bx - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl to_space@GOTOFF(%ebx), %edx - movl current@GOT(%ebx), %eax - movl %edx, (%eax) - call gc_root_scan_data - call __gc_root_scan_stack@PLT - movl $0, -12(%ebp) - jmp .L395 -.L396: - movl -12(%ebp), %eax - movl 4+extra_roots@GOTOFF(%ebx,%eax,4), %eax - subl $12, %esp - pushl %eax - call gc_test_and_copy_root - addl $16, %esp - addl $1, -12(%ebp) -.L395: - movl extra_roots@GOTOFF(%ebx), %eax - cmpl %eax, -12(%ebp) - jl .L396 - movl to_space@GOTOFF(%ebx), %edx - movl current@GOT(%ebx), %eax - movl (%eax), %eax - cmpl %eax, %edx - ja .L397 - movl 4+to_space@GOTOFF(%ebx), %edx - movl current@GOT(%ebx), %eax - movl (%eax), %eax - cmpl %eax, %edx - ja .L399 -.L397: - movl current@GOT(%ebx), %eax - movl (%eax), %ecx - movl 4+to_space@GOTOFF(%ebx), %edx - movl to_space@GOTOFF(%ebx), %eax - pushl %ecx - pushl %edx - pushl %eax - leal .LC100@GOTOFF(%ebx), %eax - pushl %eax - call printf@PLT - addl $16, %esp - movl stdout@GOT(%ebx), %eax - movl (%eax), %eax - subl $12, %esp - pushl %eax - call fflush@PLT - addl $16, %esp - subl $12, %esp - leal .LC101@GOTOFF(%ebx), %eax - pushl %eax - call perror@PLT - addl $16, %esp - subl $12, %esp - pushl $1 - call exit@PLT -.L401: - call extend_spaces - testl %eax, %eax - je .L399 - call gc_swap_spaces - subl $12, %esp - pushl $1 - call init_to_space - addl $16, %esp - subl $12, %esp - pushl 8(%ebp) - call gc - addl $16, %esp - jmp .L400 -.L399: - movl current@GOT(%ebx), %eax - movl (%eax), %eax - movl 8(%ebp), %edx - sall $2, %edx - addl %eax, %edx - movl 4+to_space@GOTOFF(%ebx), %eax - cmpl %eax, %edx - jnb .L401 - movl to_space@GOTOFF(%ebx), %edx - movl current@GOT(%ebx), %eax - movl (%eax), %eax - cmpl %eax, %edx - ja .L402 - movl 4+to_space@GOTOFF(%ebx), %edx - movl current@GOT(%ebx), %eax - movl (%eax), %eax - cmpl %eax, %edx - ja .L405 -.L402: - leal __PRETTY_FUNCTION__.3232@GOTOFF(%ebx), %eax - pushl %eax - pushl $1620 - leal .LC102@GOTOFF(%ebx), %eax - pushl %eax - leal .LC103@GOTOFF(%ebx), %eax - pushl %eax - call __assert_fail@PLT -.L405: - movl current@GOT(%ebx), %eax - movl (%eax), %eax - movl 8(%ebp), %edx - sall $2, %edx - addl %eax, %edx - movl 4+to_space@GOTOFF(%ebx), %eax - cmpl %eax, %edx - jb .L404 - leal __PRETTY_FUNCTION__.3232@GOTOFF(%ebx), %eax - pushl %eax - pushl $1621 - leal .LC102@GOTOFF(%ebx), %eax - pushl %eax - leal .LC104@GOTOFF(%ebx), %eax - pushl %eax - call __assert_fail@PLT -.L404: - call gc_swap_spaces - movl current@GOT(%ebx), %eax - movl (%eax), %eax - movl 8(%ebp), %edx - sall $2, %edx - addl %edx, %eax - movl %eax, 8+from_space@GOTOFF(%ebx) - movl current@GOT(%ebx), %eax - movl (%eax), %eax -.L400: - movl -4(%ebp), %ebx - leave - .cfi_restore 5 - .cfi_restore 3 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE89: - .size gc, .-gc - .globl alloc - .type alloc, @function -alloc: -.LFB90: - .cfi_startproc - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset 5, -8 - movl %esp, %ebp - .cfi_def_cfa_register 5 - subl $24, %esp - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - movl $1, -12(%ebp) - movl 8(%ebp), %edx - subl $1, %edx - shrl $2, %edx - addl $1, %edx - movl %edx, 8(%ebp) - movl 8+from_space@GOTOFF(%eax), %edx - movl 8(%ebp), %ecx - sall $2, %ecx - addl %edx, %ecx - movl 4+from_space@GOTOFF(%eax), %edx - cmpl %edx, %ecx - jnb .L407 - movl 8+from_space@GOTOFF(%eax), %edx - movl %edx, -12(%ebp) - movl 8+from_space@GOTOFF(%eax), %edx - movl 8(%ebp), %ecx - sall $2, %ecx - addl %ecx, %edx - movl %edx, 8+from_space@GOTOFF(%eax) - movl -12(%ebp), %eax - jmp .L408 -.L407: - subl $12, %esp - pushl $0 - call init_to_space - addl $16, %esp - subl $12, %esp - pushl 8(%ebp) - call gc - addl $16, %esp -.L408: - leave - .cfi_restore 5 - .cfi_def_cfa 4, 4 - ret - .cfi_endproc -.LFE90: - .size alloc, .-alloc - .data - .align 4 - .type chars.2795, @object - .size chars.2795, 4 -chars.2795: - .long 1 - .local buf.2796 - .comm buf.2796,6,4 - .section .rodata - .type __PRETTY_FUNCTION__.3232, @object - .size __PRETTY_FUNCTION__.3232, 3 -__PRETTY_FUNCTION__.3232: - .string "gc" - .section .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat - .globl __x86.get_pc_thunk.ax - .hidden __x86.get_pc_thunk.ax - .type __x86.get_pc_thunk.ax, @function -__x86.get_pc_thunk.ax: -.LFB91: - .cfi_startproc - movl (%esp), %eax - ret - .cfi_endproc -.LFE91: - .section .text.__x86.get_pc_thunk.dx,"axG",@progbits,__x86.get_pc_thunk.dx,comdat - .globl __x86.get_pc_thunk.dx - .hidden __x86.get_pc_thunk.dx - .type __x86.get_pc_thunk.dx, @function -__x86.get_pc_thunk.dx: -.LFB92: - .cfi_startproc - movl (%esp), %edx - ret - .cfi_endproc -.LFE92: - .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat - .globl __x86.get_pc_thunk.bx - .hidden __x86.get_pc_thunk.bx - .type __x86.get_pc_thunk.bx, @function -__x86.get_pc_thunk.bx: -.LFB93: - .cfi_startproc - movl (%esp), %ebx - ret - .cfi_endproc -.LFE93: - .hidden __stack_chk_fail_local - .ident "GCC: (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0" - .section .note.GNU-stack,"",@progbits