1.language ECMAScript 2 3slotNum = 0x1 4.function any .#&#A(any a0, any a1, any a2, any a3) { 5label_1: 6label_0: 7 definefunc 0x0, .#&A*#foo, 0x0 8 ldundefined 9 returnundefined 10label_2: 11} 12 13slotNum = 0x1 14.function any .#&#A^1(any a0, any a1, any a2, any a3) { 15label_1: 16label_0: 17 definefunc 0x0, .#&A^1*#foo, 0x0 18 ldundefined 19 returnundefined 20label_2: 21} 22 23slotNum = 0x1 24.function any .#&#A^2(any a0, any a1, any a2, any a3) { 25label_1: 26label_0: 27 definefunc 0x0, .#&A^2*#foo, 0x0 28 ldundefined 29 returnundefined 30label_2: 31} 32 33slotNum = 0x0 34.function any .#&A*#foo(any a0, any a1, any a2) { 35label_1: 36label_0: 37 ldundefined 38 returnundefined 39label_2: 40} 41 42slotNum = 0x0 43.function any .#&A^1*#foo(any a0, any a1, any a2) { 44label_1: 45label_0: 46 ldundefined 47 returnundefined 48label_2: 49} 50 51slotNum = 0x0 52.function any .#&A^2*#foo(any a0, any a1, any a2) { 53label_1: 54label_0: 55 ldundefined 56 returnundefined 57label_2: 58} 59 60slotNum = 0x0 61.function any .#~A=#A(any a0, any a1, any a2) { 62label_1: 63label_0: 64 lda a2 65 return 66label_2: 67} 68 69slotNum = 0x0 70.function any .#~A>#foo(any a0, any a1, any a2) { 71label_1: 72label_0: 73 ldundefined 74 returnundefined 75label_2: 76} 77 78slotNum = 0x12 79.function any .func_main_0(any a0, any a1, any a2) { 80label_10: 81label_0: 82 ldhole 83 sta v0 84 defineclasswithbuffer 0x0, .#~A=#A, _2, 0x0, v0 85 sta v0 86 ldobjbyname 0x1, prototype 87 definefunc 0x3, .#&#A, 0x1 88 sta v1 89 lda v0 90 callruntime.istrue 0x4 91 jnez label_12 92label_2: 93 createemptyobject 94 sta v0 95 mov v2, v0 96 jmp label_3 97label_12: 98 mov v2, v0 99label_3: 100 lda v1 101 callarg1 0x6, v2 102 definefunc 0x8, .#&#A^1, 0x1 103 sta v1 104 lda v0 105 callruntime.istrue 0x9 106 jnez label_13 107label_5: 108 createemptyobject 109 sta v0 110 mov v2, v0 111 jmp label_6 112label_13: 113 mov v2, v0 114label_6: 115 lda v1 116 callarg1 0xb, v2 117 definefunc 0xd, .#&#A^2, 0x1 118 sta v1 119 lda v0 120 callruntime.istrue 0xe 121 jnez label_9 122label_8: 123 createemptyobject 124 sta v0 125label_9: 126 lda v1 127 callarg1 0x10, v0 128 ldundefined 129 returnundefined 130label_11: 131} 132 133 134======> literal array buffer <====== 135------------------------------------ 136slot _0 137------------------------------------ 138slot _1 139{ 140 index: 0 141 tag: 2 142 val: 0 143}, 144{ 145 index: 1 146 tag: 2 147 val: 0 148}, 149{ 150 index: 2 151 tag: 2 152 val: 0 153}, 154{ 155 index: 3 156 tag: 2 157 val: 0 158}, 159{ 160 index: 4 161 tag: 2 162 val: 0 163}, 164{ 165 index: 5 166 tag: 2 167 val: 0 168}, 169------------------------------------ 170slot _2 171{ 172 index: 0 173 tag: 0 174 val: 5 175}, 176{ 177 index: 1 178 tag: 5 179 val: foo 180}, 181{ 182 index: 2 183 tag: 0 184 val: 6 185}, 186{ 187 index: 3 188 tag: 6 189 val: .#~A>#foo 190}, 191{ 192 index: 4 193 tag: 0 194 val: 9 195}, 196{ 197 index: 5 198 tag: 9 199 val: 0 200}, 201{ 202 index: 6 203 tag: 0 204 val: 2 205}, 206{ 207 index: 7 208 tag: 2 209 val: 1 210}, 211