.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