diff --git a/byterun/test046 b/byterun/test046 deleted file mode 100755 index 2081b68b7..000000000 Binary files a/byterun/test046 and /dev/null differ diff --git a/byterun/test046.i b/byterun/test046.i deleted file mode 100644 index 517e120ae..000000000 --- a/byterun/test046.i +++ /dev/null @@ -1 +0,0 @@ -I,Std; diff --git a/byterun/test046.s b/byterun/test046.s deleted file mode 100644 index 64204d021..000000000 --- a/byterun/test046.s +++ /dev/null @@ -1,2351 +0,0 @@ - .file "/home/dragon/Containers/LaMa/projects/Lama/byterun/../regression/test046.lama" - - .stabs "/home/dragon/Containers/LaMa/projects/Lama/byterun/../regression/test046.lama",100,0,0,.Ltext - - .globl main - - .data - -string_0: .string "../regression/test046.lama" - -init: .quad 0 - - .section custom_data,"aw",@progbits - -filler: .fill 5, 8, 1 - - .stabs "n:S1",40,0,0,global_n - -global_n: .quad 1 - - .text - -.Ltext: - - .stabs "data:t1=r1;0;4294967295;",128,0,0,0 - -# IMPORT ("Std") - -# PUBLIC ("main") - -# EXTERN ("Llowercase") - -# EXTERN ("Luppercase") - -# EXTERN ("LtagHash") - -# EXTERN ("LflatCompare") - -# EXTERN ("LcompareTags") - -# EXTERN ("LkindOf") - -# EXTERN ("Ltime") - -# EXTERN ("Lrandom") - -# EXTERN ("LdisableGC") - -# EXTERN ("LenableGC") - -# EXTERN ("Ls__Infix_37") - -# EXTERN ("Ls__Infix_47") - -# EXTERN ("Ls__Infix_42") - -# EXTERN ("Ls__Infix_45") - -# EXTERN ("Ls__Infix_43") - -# EXTERN ("Ls__Infix_62") - -# EXTERN ("Ls__Infix_6261") - -# EXTERN ("Ls__Infix_60") - -# EXTERN ("Ls__Infix_6061") - -# EXTERN ("Ls__Infix_3361") - -# EXTERN ("Ls__Infix_6161") - -# EXTERN ("Ls__Infix_3838") - -# EXTERN ("Ls__Infix_3333") - -# EXTERN ("Ls__Infix_58") - -# EXTERN ("Li__Infix_4343") - -# EXTERN ("Lcompare") - -# EXTERN ("Lwrite") - -# EXTERN ("Lread") - -# EXTERN ("Lfailure") - -# EXTERN ("Lfexists") - -# EXTERN ("Lfwrite") - -# EXTERN ("Lfread") - -# EXTERN ("Lfclose") - -# EXTERN ("Lfopen") - -# EXTERN ("Lfprintf") - -# EXTERN ("Lprintf") - -# EXTERN ("LmakeString") - -# EXTERN ("Lsprintf") - -# EXTERN ("LregexpMatch") - -# EXTERN ("Lregexp") - -# EXTERN ("Lsubstring") - -# EXTERN ("LmatchSubString") - -# EXTERN ("Lstringcat") - -# EXTERN ("LreadLine") - -# EXTERN ("Ltl") - -# EXTERN ("Lhd") - -# EXTERN ("Lsnd") - -# EXTERN ("Lfst") - -# EXTERN ("Lhash") - -# EXTERN ("Lclone") - -# EXTERN ("Llength") - -# EXTERN ("Lstring") - -# EXTERN ("LmakeArray") - -# EXTERN ("LstringInt") - -# EXTERN ("global_sysargs") - -# EXTERN ("Lsystem") - -# EXTERN ("LgetEnv") - -# EXTERN ("Lassert") - -# LABEL ("main") - -main: - -# BEGIN ("main", 2, 4, [], [], []) - - .type main, @function - - .cfi_startproc - - movq init(%rip), %rax - test %rax, %rax - jz continue - ret -_ERROR: - - call Lbinoperror - ret -_ERROR2: - - call Lbinoperror2 - ret -continue: - - movq $1, init(%rip) - pushq %rbp - .cfi_def_cfa_offset 8 - - .cfi_offset 5, -8 - - movq %rsp, %rbp - .cfi_def_cfa_register 5 - - subq $Lmain_SIZE, %rsp - movq %rdi, %r12 - movq %rsi, %r13 - movq %rcx, %r14 - movq %rsp, %rdi - leaq filler(%rip), %rsi - movq $LSmain_SIZE, %rcx - rep movsq - movq %r12, %rdi - movq %r13, %rsi - movq %r14, %rcx - movq $15, %rax - test %rsp, %rax - jz ALIGNED - pushq filler(%rip) -ALIGNED: - - pushq %rdi - pushq %rsi - call __gc_init - popq %rsi - popq %rdi - call set_args -# SLABEL ("L1") - -L1: - -# LINE (3) - - .stabn 68,0,3,.L0 - -.L0: - -# CALL ("Lread", 0, false) - - pushq %rdi - pushq %rsi - movq $0, %r11 - call Lread - popq %rsi - popq %rdi - movq %rax, %r10 -# LINE (1) - - .stabn 68,0,1,.L1 - -.L1: - -# ST (Global ("n")) - - movq %r10, global_n(%rip) -# DROP - -# CONST (3) - - movq $7, %r10 -# DUP - - movq %r10, %r11 -# SLABEL ("L11") - -L11: - -# DROP - -# DUP - - movq %r10, %r11 -# ST (Local (0)) - - movq %r11, -8(%rbp) -# DROP - -# DROP - -# SLABEL ("L13") - -L13: - -# LINE (6) - - .stabn 68,0,6,.L2 - -.L2: - -# LD (Local (0)) - - movq -8(%rbp), %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L14") - -L14: - -# JMP ("L7") - - jmp L7 -# SLABEL ("L12") - -L12: - -# JMP ("L7") - -# LABEL ("L7") - -L7: - -# CONST (3) - - movq $7, %r10 -# DUP - - movq %r10, %r11 -# SLABEL ("L20") - -L20: - -# DROP - -# DUP - - movq %r10, %r11 -# ST (Local (0)) - - movq %r11, -8(%rbp) -# DROP - -# DROP - -# SLABEL ("L22") - -L22: - -# LINE (11) - - .stabn 68,0,11,.L3 - -.L3: - -# LD (Local (0)) - - movq -8(%rbp), %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L23") - -L23: - -# SLABEL ("L21") - -L21: - -# JMP ("L17") - - jmp L17 -# LABEL ("L17") - -L17: - -# CONST (3) - - movq $7, %r10 -# DUP - - movq %r10, %r11 -# SLABEL ("L29") - -L29: - -# DROP - -# DUP - - movq %r10, %r11 -# ST (Local (0)) - - movq %r11, -8(%rbp) -# DROP - -# DROP - -# SLABEL ("L31") - -L31: - -# LINE (15) - - .stabn 68,0,15,.L4 - -.L4: - -# LD (Local (0)) - - movq -8(%rbp), %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L32") - -L32: - -# SLABEL ("L30") - -L30: - -# JMP ("L26") - - jmp L26 -# LABEL ("L26") - -L26: - -# CONST (1) - - movq $3, %r10 -# CONST (2) - - movq $5, %r11 -# CONST (3) - - movq $7, %r12 -# SEXP ("A", 3) - - movq $55, %r13 - pushq %rdi - pushq %rsi - pushq %r13 - pushq %r12 - pushq %r11 - pushq %r10 - movq %rsp, %rdi - movq $9, %rsi - call Bsexp - addq $32, %rsp - popq %rsi - popq %rdi - movq %rax, %r10 -# DUP - - movq %r10, %r11 -# SLABEL ("L44") - -L44: - -# DUP - - movq %r11, %r12 -# TAG ("A", 0) - - movq $55, %r13 - movq $1, %r14 - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r14, %rdx - movq %r13, %rsi - movq %r12, %rdi - movq $3, %r11 - call Btag - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# CJMP ("nz", "L42") - - sarq %r12 - cmpq $0, %r12 - jnz L42 -# LABEL ("L43") - -L43: - -# DROP - -# JMP ("L41") - - jmp L41 -# LABEL ("L42") - -L42: - -# DROP - -# DROP - -# SLABEL ("L46") - -L46: - -# LINE (19) - - .stabn 68,0,19,.L5 - -.L5: - -# CONST (1) - - movq $3, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L47") - -L47: - -# JMP ("L35") - - jmp L35 -# SLABEL ("L45") - -L45: - -# SLABEL ("L52") - -L52: - -# LABEL ("L41") - -L41: - -# DUP - - movq %r10, %r11 -# DUP - - movq %r11, %r12 -# TAG ("A", 3) - - movq $55, %r13 - movq $7, %r14 - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r14, %rdx - movq %r13, %rsi - movq %r12, %rdi - movq $3, %r11 - call Btag - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# CJMP ("nz", "L50") - - sarq %r12 - cmpq $0, %r12 - jnz L50 -# LABEL ("L51") - -L51: - -# DROP - -# JMP ("L36") - - jmp L36 -# LABEL ("L50") - -L50: - -# DUP - - movq %r11, %r12 -# CONST (0) - - movq $1, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (1) - - movq $3, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (2) - - movq $5, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DROP - -# DUP - - movq %r10, %r11 -# ST (Local (0)) - - movq %r11, -8(%rbp) -# DROP - -# DROP - -# SLABEL ("L54") - -L54: - -# LINE (20) - - .stabn 68,0,20,.L6 - -.L6: - -# LD (Local (0)) - - movq -8(%rbp), %r10 -# DUP - - movq %r10, %r11 -# SLABEL ("L60") - -L60: - -# DUP - - movq %r11, %r12 -# TAG ("A", 3) - - movq $55, %r13 - movq $7, %r14 - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r14, %rdx - movq %r13, %rsi - movq %r12, %rdi - movq $3, %r11 - call Btag - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# CJMP ("nz", "L58") - - sarq %r12 - cmpq $0, %r12 - jnz L58 -# LABEL ("L59") - -L59: - -# DROP - -# JMP ("L56") - - jmp L56 -# LABEL ("L58") - -L58: - -# DUP - - movq %r11, %r12 -# CONST (0) - - movq $1, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (1) - - movq $3, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (2) - - movq $5, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DROP - -# DUP - - movq %r10, %r11 -# CONST (0) - - movq $1, %r12 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq filler(%rip) - movq %r12, %rsi - movq %r11, %rdi - movq $2, %r11 - call Belem - addq $8, %rsp - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r11 -# ST (Local (3)) - - movq %r11, -32(%rbp) -# DROP - -# DUP - - movq %r10, %r11 -# CONST (1) - - movq $3, %r12 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq filler(%rip) - movq %r12, %rsi - movq %r11, %rdi - movq $2, %r11 - call Belem - addq $8, %rsp - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r11 -# ST (Local (2)) - - movq %r11, -24(%rbp) -# DROP - -# DUP - - movq %r10, %r11 -# CONST (2) - - movq $5, %r12 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq filler(%rip) - movq %r12, %rsi - movq %r11, %rdi - movq $2, %r11 - call Belem - addq $8, %rsp - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r11 -# ST (Local (1)) - - movq %r11, -16(%rbp) -# DROP - -# DROP - -# SLABEL ("L62") - -L62: - -# LINE (21) - - .stabn 68,0,21,.L7 - -.L7: - -# LD (Local (3)) - - movq -32(%rbp), %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# LD (Local (2)) - - movq -24(%rbp), %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# LD (Local (1)) - - movq -16(%rbp), %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L63") - -L63: - -# SLABEL ("L61") - -L61: - -# JMP ("L35") - - jmp L35 -# LABEL ("L56") - -L56: - -# FAIL ((20, 24), false) - - movq $24, %r13 - movq $20, %r12 - leaq string_0(%rip), %r11 - movq %r10, %r10 - pushq %rdi - pushq %rsi - movq %r13, %rcx - movq %r12, %rdx - movq %r11, %rsi - movq %r10, %rdi - movq $4, %r11 - call Bmatch_failure - popq %rsi - popq %rdi - movq %rax, %r10 -# JMP ("L35") - - jmp L35 -# SLABEL ("L55") - -L55: - -# SLABEL ("L53") - -L53: - -# JMP ("L35") - -# LABEL ("L36") - -L36: - -# FAIL ((18, 5), false) - - movq $5, %r13 - movq $18, %r12 - leaq string_0(%rip), %r11 - movq %r10, %r10 - pushq %rdi - pushq %rsi - movq %r13, %rcx - movq %r12, %rdx - movq %r11, %rsi - movq %r10, %rdi - movq $4, %r11 - call Bmatch_failure - popq %rsi - popq %rdi - movq %rax, %r10 -# JMP ("L35") - - jmp L35 -# LABEL ("L35") - -L35: - -# CONST (1) - - movq $3, %r10 -# CONST (2) - - movq $5, %r11 -# CONST (3) - - movq $7, %r12 -# CONST (4) - - movq $9, %r13 -# CONST (5) - - movq $11, %r14 -# SEXP ("A", 5) - - movq $55, -40(%rbp) - pushq %rdi - pushq %rsi - pushq -40(%rbp) - pushq %r14 - pushq %r13 - pushq %r12 - pushq %r11 - pushq %r10 - movq %rsp, %rdi - movq $13, %rsi - call Bsexp - addq $48, %rsp - popq %rsi - popq %rdi - movq %rax, %r10 -# DUP - - movq %r10, %r11 -# SLABEL ("L83") - -L83: - -# DUP - - movq %r11, %r12 -# TAG ("A", 0) - - movq $55, %r13 - movq $1, %r14 - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r14, %rdx - movq %r13, %rsi - movq %r12, %rdi - movq $3, %r11 - call Btag - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# CJMP ("nz", "L81") - - sarq %r12 - cmpq $0, %r12 - jnz L81 -# LABEL ("L82") - -L82: - -# DROP - -# JMP ("L80") - - jmp L80 -# LABEL ("L81") - -L81: - -# DROP - -# DROP - -# SLABEL ("L85") - -L85: - -# LINE (26) - - .stabn 68,0,26,.L8 - -.L8: - -# CONST (0) - - movq $1, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L86") - -L86: - -# JMP ("L72") - - jmp L72 -# SLABEL ("L84") - -L84: - -# SLABEL ("L92") - -L92: - -# LABEL ("L80") - -L80: - -# DUP - - movq %r10, %r11 -# DUP - - movq %r11, %r12 -# TAG ("A", 1) - - movq $55, %r13 - movq $3, %r14 - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r14, %rdx - movq %r13, %rsi - movq %r12, %rdi - movq $3, %r11 - call Btag - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# CJMP ("nz", "L90") - - sarq %r12 - cmpq $0, %r12 - jnz L90 -# LABEL ("L91") - -L91: - -# DROP - -# JMP ("L89") - - jmp L89 -# LABEL ("L90") - -L90: - -# DUP - - movq %r11, %r12 -# CONST (0) - - movq $1, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DROP - -# DROP - -# SLABEL ("L94") - -L94: - -# LINE (27) - - .stabn 68,0,27,.L9 - -.L9: - -# CONST (1) - - movq $3, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L95") - -L95: - -# JMP ("L72") - - jmp L72 -# SLABEL ("L93") - -L93: - -# SLABEL ("L101") - -L101: - -# LABEL ("L89") - -L89: - -# DUP - - movq %r10, %r11 -# DUP - - movq %r11, %r12 -# TAG ("A", 2) - - movq $55, %r13 - movq $5, %r14 - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r14, %rdx - movq %r13, %rsi - movq %r12, %rdi - movq $3, %r11 - call Btag - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# CJMP ("nz", "L99") - - sarq %r12 - cmpq $0, %r12 - jnz L99 -# LABEL ("L100") - -L100: - -# DROP - -# JMP ("L98") - - jmp L98 -# LABEL ("L99") - -L99: - -# DUP - - movq %r11, %r12 -# CONST (0) - - movq $1, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (1) - - movq $3, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DROP - -# DROP - -# SLABEL ("L103") - -L103: - -# LINE (28) - - .stabn 68,0,28,.L10 - -.L10: - -# CONST (2) - - movq $5, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L104") - -L104: - -# JMP ("L72") - - jmp L72 -# SLABEL ("L102") - -L102: - -# SLABEL ("L110") - -L110: - -# LABEL ("L98") - -L98: - -# DUP - - movq %r10, %r11 -# DUP - - movq %r11, %r12 -# TAG ("A", 3) - - movq $55, %r13 - movq $7, %r14 - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r14, %rdx - movq %r13, %rsi - movq %r12, %rdi - movq $3, %r11 - call Btag - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# CJMP ("nz", "L108") - - sarq %r12 - cmpq $0, %r12 - jnz L108 -# LABEL ("L109") - -L109: - -# DROP - -# JMP ("L107") - - jmp L107 -# LABEL ("L108") - -L108: - -# DUP - - movq %r11, %r12 -# CONST (0) - - movq $1, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (1) - - movq $3, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (2) - - movq $5, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DROP - -# DROP - -# SLABEL ("L112") - -L112: - -# LINE (29) - - .stabn 68,0,29,.L11 - -.L11: - -# CONST (3) - - movq $7, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L113") - -L113: - -# JMP ("L72") - - jmp L72 -# SLABEL ("L111") - -L111: - -# SLABEL ("L119") - -L119: - -# LABEL ("L107") - -L107: - -# DUP - - movq %r10, %r11 -# DUP - - movq %r11, %r12 -# TAG ("A", 4) - - movq $55, %r13 - movq $9, %r14 - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r14, %rdx - movq %r13, %rsi - movq %r12, %rdi - movq $3, %r11 - call Btag - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# CJMP ("nz", "L117") - - sarq %r12 - cmpq $0, %r12 - jnz L117 -# LABEL ("L118") - -L118: - -# DROP - -# JMP ("L116") - - jmp L116 -# LABEL ("L117") - -L117: - -# DUP - - movq %r11, %r12 -# CONST (0) - - movq $1, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (1) - - movq $3, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (2) - - movq $5, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (3) - - movq $7, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DROP - -# DROP - -# SLABEL ("L121") - -L121: - -# LINE (30) - - .stabn 68,0,30,.L12 - -.L12: - -# CONST (4) - - movq $9, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L122") - -L122: - -# JMP ("L72") - - jmp L72 -# SLABEL ("L120") - -L120: - -# SLABEL ("L127") - -L127: - -# LABEL ("L116") - -L116: - -# DUP - - movq %r10, %r11 -# DUP - - movq %r11, %r12 -# TAG ("A", 5) - - movq $55, %r13 - movq $11, %r14 - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r14, %rdx - movq %r13, %rsi - movq %r12, %rdi - movq $3, %r11 - call Btag - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# CJMP ("nz", "L125") - - sarq %r12 - cmpq $0, %r12 - jnz L125 -# LABEL ("L126") - -L126: - -# DROP - -# JMP ("L73") - - jmp L73 -# LABEL ("L125") - -L125: - -# DUP - - movq %r11, %r12 -# CONST (0) - - movq $1, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (1) - - movq $3, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (2) - - movq $5, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (3) - - movq $7, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DUP - - movq %r11, %r12 -# CONST (4) - - movq $9, %r13 -# ELEM - - pushq %rdi - pushq %rsi - pushq %r10 - pushq %r11 - movq %r13, %rsi - movq %r12, %rdi - movq $2, %r11 - call Belem - popq %r11 - popq %r10 - popq %rsi - popq %rdi - movq %rax, %r12 -# DROP - -# DROP - -# DROP - -# SLABEL ("L129") - -L129: - -# LINE (31) - - .stabn 68,0,31,.L13 - -.L13: - -# CONST (5) - - movq $11, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# SLABEL ("L130") - -L130: - -# SLABEL ("L128") - -L128: - -# JMP ("L72") - - jmp L72 -# LABEL ("L73") - -L73: - -# FAIL ((25, 5), false) - - movq $5, %r13 - movq $25, %r12 - leaq string_0(%rip), %r11 - movq %r10, %r10 - pushq %rdi - pushq %rsi - movq %r13, %rcx - movq %r12, %rdx - movq %r11, %rsi - movq %r10, %rdi - movq $4, %r11 - call Bmatch_failure - popq %rsi - popq %rdi - movq %rax, %r10 -# JMP ("L72") - - jmp L72 -# LABEL ("L72") - -L72: - -# LINE (32) - - .stabn 68,0,32,.L14 - -.L14: - -# CONST (1) - - movq $3, %r10 -# CONST (2) - - movq $5, %r11 -# CONST (3) - - movq $7, %r12 -# CONST (4) - - movq $9, %r13 -# CONST (5) - - movq $11, %r14 -# SEXP ("A", 5) - - movq $55, -40(%rbp) - pushq %rdi - pushq %rsi - pushq -40(%rbp) - pushq %r14 - pushq %r13 - pushq %r12 - pushq %r11 - pushq %r10 - movq %rsp, %rdi - movq $13, %rsi - call Bsexp - addq $48, %rsp - popq %rsi - popq %rdi - movq %rax, %r10 -# CALL ("Llength", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Llength - popq %rsi - popq %rdi - movq %rax, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# LINE (34) - - .stabn 68,0,34,.L15 - -.L15: - -# CONST (1) - - movq $3, %r10 -# CONST (2) - - movq $5, %r11 -# CONST (3) - - movq $7, %r12 -# CONST (4) - - movq $9, %r13 -# CONST (5) - - movq $11, %r14 -# SEXP ("A", 5) - - movq $55, -40(%rbp) - pushq %rdi - pushq %rsi - pushq -40(%rbp) - pushq %r14 - pushq %r13 - pushq %r12 - pushq %r11 - pushq %r10 - movq %rsp, %rdi - movq $13, %rsi - call Bsexp - addq $48, %rsp - popq %rsi - popq %rdi - movq %rax, %r10 -# CONST (0) - - movq $1, %r11 -# ELEM - - pushq %rdi - pushq %rsi - movq %r11, %rsi - movq %r10, %rdi - movq $2, %r11 - call Belem - popq %rsi - popq %rdi - movq %rax, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# LINE (36) - - .stabn 68,0,36,.L16 - -.L16: - -# CONST (1) - - movq $3, %r10 -# CONST (2) - - movq $5, %r11 -# CONST (3) - - movq $7, %r12 -# CONST (4) - - movq $9, %r13 -# CONST (5) - - movq $11, %r14 -# SEXP ("A", 5) - - movq $55, -40(%rbp) - pushq %rdi - pushq %rsi - pushq -40(%rbp) - pushq %r14 - pushq %r13 - pushq %r12 - pushq %r11 - pushq %r10 - movq %rsp, %rdi - movq $13, %rsi - call Bsexp - addq $48, %rsp - popq %rsi - popq %rdi - movq %rax, %r10 -# CONST (1) - - movq $3, %r11 -# ELEM - - pushq %rdi - pushq %rsi - movq %r11, %rsi - movq %r10, %rdi - movq $2, %r11 - call Belem - popq %rsi - popq %rdi - movq %rax, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# LINE (37) - - .stabn 68,0,37,.L17 - -.L17: - -# CONST (1) - - movq $3, %r10 -# CONST (2) - - movq $5, %r11 -# CONST (3) - - movq $7, %r12 -# CONST (4) - - movq $9, %r13 -# CONST (5) - - movq $11, %r14 -# SEXP ("A", 5) - - movq $55, -40(%rbp) - pushq %rdi - pushq %rsi - pushq -40(%rbp) - pushq %r14 - pushq %r13 - pushq %r12 - pushq %r11 - pushq %r10 - movq %rsp, %rdi - movq $13, %rsi - call Bsexp - addq $48, %rsp - popq %rsi - popq %rdi - movq %rax, %r10 -# CONST (2) - - movq $5, %r11 -# ELEM - - pushq %rdi - pushq %rsi - movq %r11, %rsi - movq %r10, %rdi - movq $2, %r11 - call Belem - popq %rsi - popq %rdi - movq %rax, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# LINE (38) - - .stabn 68,0,38,.L18 - -.L18: - -# CONST (1) - - movq $3, %r10 -# CONST (2) - - movq $5, %r11 -# CONST (3) - - movq $7, %r12 -# CONST (4) - - movq $9, %r13 -# CONST (5) - - movq $11, %r14 -# SEXP ("A", 5) - - movq $55, -40(%rbp) - pushq %rdi - pushq %rsi - pushq -40(%rbp) - pushq %r14 - pushq %r13 - pushq %r12 - pushq %r11 - pushq %r10 - movq %rsp, %rdi - movq $13, %rsi - call Bsexp - addq $48, %rsp - popq %rsi - popq %rdi - movq %rax, %r10 -# CONST (3) - - movq $7, %r11 -# ELEM - - pushq %rdi - pushq %rsi - movq %r11, %rsi - movq %r10, %rdi - movq $2, %r11 - call Belem - popq %rsi - popq %rdi - movq %rax, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# DROP - -# LINE (39) - - .stabn 68,0,39,.L19 - -.L19: - -# CONST (1) - - movq $3, %r10 -# CONST (2) - - movq $5, %r11 -# CONST (3) - - movq $7, %r12 -# CONST (4) - - movq $9, %r13 -# CONST (5) - - movq $11, %r14 -# SEXP ("A", 5) - - movq $55, -40(%rbp) - pushq %rdi - pushq %rsi - pushq -40(%rbp) - pushq %r14 - pushq %r13 - pushq %r12 - pushq %r11 - pushq %r10 - movq %rsp, %rdi - movq $13, %rsi - call Bsexp - addq $48, %rsp - popq %rsi - popq %rdi - movq %rax, %r10 -# CONST (4) - - movq $9, %r11 -# ELEM - - pushq %rdi - pushq %rsi - movq %r11, %rsi - movq %r10, %rdi - movq $2, %r11 - call Belem - popq %rsi - popq %rdi - movq %rax, %r10 -# CALL ("Lwrite", 1, false) - - pushq %rdi - pushq %rsi - movq %r10, %rdi - movq $1, %r11 - call Lwrite - popq %rsi - popq %rdi - movq %rax, %r10 -# SLABEL ("L2") - -L2: - -# END - - movq %r10, %rax -Lmain_epilogue: - - movq %rbp, %rsp - popq %rbp - xorq %rax, %rax - .cfi_restore 5 - - .cfi_def_cfa 4, 4 - - ret - .cfi_endproc - - .set Lmain_SIZE, 48 - - .set LSmain_SIZE, 5 - - .size main, .-main - diff --git a/byterun/test046.sm b/byterun/test046.sm deleted file mode 100644 index 72a74bc25..000000000 --- a/byterun/test046.sm +++ /dev/null @@ -1,490 +0,0 @@ -IMPORT ("Std") -PUBLIC ("main") -EXTERN ("Llowercase") -EXTERN ("Luppercase") -EXTERN ("LtagHash") -EXTERN ("LflatCompare") -EXTERN ("LcompareTags") -EXTERN ("LkindOf") -EXTERN ("Ltime") -EXTERN ("Lrandom") -EXTERN ("LdisableGC") -EXTERN ("LenableGC") -EXTERN ("Ls__Infix_37") -EXTERN ("Ls__Infix_47") -EXTERN ("Ls__Infix_42") -EXTERN ("Ls__Infix_45") -EXTERN ("Ls__Infix_43") -EXTERN ("Ls__Infix_62") -EXTERN ("Ls__Infix_6261") -EXTERN ("Ls__Infix_60") -EXTERN ("Ls__Infix_6061") -EXTERN ("Ls__Infix_3361") -EXTERN ("Ls__Infix_6161") -EXTERN ("Ls__Infix_3838") -EXTERN ("Ls__Infix_3333") -EXTERN ("Ls__Infix_58") -EXTERN ("Li__Infix_4343") -EXTERN ("Lcompare") -EXTERN ("Lwrite") -EXTERN ("Lread") -EXTERN ("Lfailure") -EXTERN ("Lfexists") -EXTERN ("Lfwrite") -EXTERN ("Lfread") -EXTERN ("Lfclose") -EXTERN ("Lfopen") -EXTERN ("Lfprintf") -EXTERN ("Lprintf") -EXTERN ("LmakeString") -EXTERN ("Lsprintf") -EXTERN ("LregexpMatch") -EXTERN ("Lregexp") -EXTERN ("Lsubstring") -EXTERN ("LmatchSubString") -EXTERN ("Lstringcat") -EXTERN ("LreadLine") -EXTERN ("Ltl") -EXTERN ("Lhd") -EXTERN ("Lsnd") -EXTERN ("Lfst") -EXTERN ("Lhash") -EXTERN ("Lclone") -EXTERN ("Llength") -EXTERN ("Lstring") -EXTERN ("LmakeArray") -EXTERN ("LstringInt") -EXTERN ("global_sysargs") -EXTERN ("Lsystem") -EXTERN ("LgetEnv") -EXTERN ("Lassert") -LABEL ("main") -BEGIN ("main", 2, 4, [], [], []) -SLABEL ("L1") -LINE (3) -CALL ("Lread", 0, false) -LINE (1) -ST (Global ("n")) -DROP -CONST (3) -DUP -SLABEL ("L11") -DROP -DUP -ST (Local (0)) -DROP -DROP -SLABEL ("L13") -LINE (6) -LD (Local (0)) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L14") -JMP ("L7") -SLABEL ("L12") -JMP ("L7") -LABEL ("L7") -CONST (3) -DUP -SLABEL ("L20") -DROP -DUP -ST (Local (0)) -DROP -DROP -SLABEL ("L22") -LINE (11) -LD (Local (0)) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L23") -SLABEL ("L21") -JMP ("L17") -LABEL ("L17") -CONST (3) -DUP -SLABEL ("L29") -DROP -DUP -ST (Local (0)) -DROP -DROP -SLABEL ("L31") -LINE (15) -LD (Local (0)) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L32") -SLABEL ("L30") -JMP ("L26") -LABEL ("L26") -CONST (1) -CONST (2) -CONST (3) -SEXP ("A", 3) -DUP -SLABEL ("L44") -DUP -TAG ("A", 0) -CJMP ("nz", "L42") -LABEL ("L43") -DROP -JMP ("L41") -LABEL ("L42") -DROP -DROP -SLABEL ("L46") -LINE (19) -CONST (1) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L47") -JMP ("L35") -SLABEL ("L45") -SLABEL ("L52") -LABEL ("L41") -DUP -DUP -TAG ("A", 3) -CJMP ("nz", "L50") -LABEL ("L51") -DROP -JMP ("L36") -LABEL ("L50") -DUP -CONST (0) -ELEM -DROP -DUP -CONST (1) -ELEM -DROP -DUP -CONST (2) -ELEM -DROP -DROP -DUP -ST (Local (0)) -DROP -DROP -SLABEL ("L54") -LINE (20) -LD (Local (0)) -DUP -SLABEL ("L60") -DUP -TAG ("A", 3) -CJMP ("nz", "L58") -LABEL ("L59") -DROP -JMP ("L56") -LABEL ("L58") -DUP -CONST (0) -ELEM -DROP -DUP -CONST (1) -ELEM -DROP -DUP -CONST (2) -ELEM -DROP -DROP -DUP -CONST (0) -ELEM -ST (Local (3)) -DROP -DUP -CONST (1) -ELEM -ST (Local (2)) -DROP -DUP -CONST (2) -ELEM -ST (Local (1)) -DROP -DROP -SLABEL ("L62") -LINE (21) -LD (Local (3)) -CALL ("Lwrite", 1, false) -DROP -LD (Local (2)) -CALL ("Lwrite", 1, false) -DROP -LD (Local (1)) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L63") -SLABEL ("L61") -JMP ("L35") -LABEL ("L56") -FAIL ((20, 24), false) -JMP ("L35") -SLABEL ("L55") -SLABEL ("L53") -JMP ("L35") -LABEL ("L36") -FAIL ((18, 5), false) -JMP ("L35") -LABEL ("L35") -CONST (1) -CONST (2) -CONST (3) -CONST (4) -CONST (5) -SEXP ("A", 5) -DUP -SLABEL ("L83") -DUP -TAG ("A", 0) -CJMP ("nz", "L81") -LABEL ("L82") -DROP -JMP ("L80") -LABEL ("L81") -DROP -DROP -SLABEL ("L85") -LINE (26) -CONST (0) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L86") -JMP ("L72") -SLABEL ("L84") -SLABEL ("L92") -LABEL ("L80") -DUP -DUP -TAG ("A", 1) -CJMP ("nz", "L90") -LABEL ("L91") -DROP -JMP ("L89") -LABEL ("L90") -DUP -CONST (0) -ELEM -DROP -DROP -DROP -SLABEL ("L94") -LINE (27) -CONST (1) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L95") -JMP ("L72") -SLABEL ("L93") -SLABEL ("L101") -LABEL ("L89") -DUP -DUP -TAG ("A", 2) -CJMP ("nz", "L99") -LABEL ("L100") -DROP -JMP ("L98") -LABEL ("L99") -DUP -CONST (0) -ELEM -DROP -DUP -CONST (1) -ELEM -DROP -DROP -DROP -SLABEL ("L103") -LINE (28) -CONST (2) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L104") -JMP ("L72") -SLABEL ("L102") -SLABEL ("L110") -LABEL ("L98") -DUP -DUP -TAG ("A", 3) -CJMP ("nz", "L108") -LABEL ("L109") -DROP -JMP ("L107") -LABEL ("L108") -DUP -CONST (0) -ELEM -DROP -DUP -CONST (1) -ELEM -DROP -DUP -CONST (2) -ELEM -DROP -DROP -DROP -SLABEL ("L112") -LINE (29) -CONST (3) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L113") -JMP ("L72") -SLABEL ("L111") -SLABEL ("L119") -LABEL ("L107") -DUP -DUP -TAG ("A", 4) -CJMP ("nz", "L117") -LABEL ("L118") -DROP -JMP ("L116") -LABEL ("L117") -DUP -CONST (0) -ELEM -DROP -DUP -CONST (1) -ELEM -DROP -DUP -CONST (2) -ELEM -DROP -DUP -CONST (3) -ELEM -DROP -DROP -DROP -SLABEL ("L121") -LINE (30) -CONST (4) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L122") -JMP ("L72") -SLABEL ("L120") -SLABEL ("L127") -LABEL ("L116") -DUP -DUP -TAG ("A", 5) -CJMP ("nz", "L125") -LABEL ("L126") -DROP -JMP ("L73") -LABEL ("L125") -DUP -CONST (0) -ELEM -DROP -DUP -CONST (1) -ELEM -DROP -DUP -CONST (2) -ELEM -DROP -DUP -CONST (3) -ELEM -DROP -DUP -CONST (4) -ELEM -DROP -DROP -DROP -SLABEL ("L129") -LINE (31) -CONST (5) -CALL ("Lwrite", 1, false) -DROP -SLABEL ("L130") -SLABEL ("L128") -JMP ("L72") -LABEL ("L73") -FAIL ((25, 5), false) -JMP ("L72") -LABEL ("L72") -LINE (32) -CONST (1) -CONST (2) -CONST (3) -CONST (4) -CONST (5) -SEXP ("A", 5) -CALL ("Llength", 1, false) -CALL ("Lwrite", 1, false) -DROP -LINE (34) -CONST (1) -CONST (2) -CONST (3) -CONST (4) -CONST (5) -SEXP ("A", 5) -CONST (0) -ELEM -CALL ("Lwrite", 1, false) -DROP -LINE (36) -CONST (1) -CONST (2) -CONST (3) -CONST (4) -CONST (5) -SEXP ("A", 5) -CONST (1) -ELEM -CALL ("Lwrite", 1, false) -DROP -LINE (37) -CONST (1) -CONST (2) -CONST (3) -CONST (4) -CONST (5) -SEXP ("A", 5) -CONST (2) -ELEM -CALL ("Lwrite", 1, false) -DROP -LINE (38) -CONST (1) -CONST (2) -CONST (3) -CONST (4) -CONST (5) -SEXP ("A", 5) -CONST (3) -ELEM -CALL ("Lwrite", 1, false) -DROP -LINE (39) -CONST (1) -CONST (2) -CONST (3) -CONST (4) -CONST (5) -SEXP ("A", 5) -CONST (4) -ELEM -CALL ("Lwrite", 1, false) -SLABEL ("L2") -END