1.language ECMAScript 2 3slotNum = 0x7 4.function any .#*#test2(any a0, any a1, any a2) { 5 mov v0, a0 6 mov v1, a1 7 mov v2, a2 8 callruntime.ldsendablevar 0x0, 0x0 9 throw.undefinedifholewithname SendableB 10 sta v5 11 newobjrange 0x0, 0x1, v5 12 sta v3 13 tryldglobalbyname 0x2, print 14 sta v5 15 callruntime.ldsendablevar 0x0, 0x0 16 throw.undefinedifholewithname SendableB 17 sta v6 18 lda v6 19 ldobjbyname 0x3, propB 20 sta v6 21 lda v5 22 callarg1 0x5, v6 23 lda.str 456 24 sta v5 25 ldlexvar 0x0, 0x0 26 throw.undefinedifholewithname closureStr 27 lda v5 28 sta v5 29 lda v5 30 stlexvar 0x0, 0x0 31 ldai 0x1c8 32 sta v5 33 ldlexvar 0x0, 0x1 34 throw.undefinedifholewithname closureNum 35 lda v5 36 sta v5 37 lda v5 38 stlexvar 0x0, 0x1 39 lda.str test 40 return 41} 42 43slotNum = 0x2 44.function any .#~@0=#SendableB(any a0, any a1, any a2) { 45 mov v0, a0 46 mov v1, a1 47 mov v2, a2 48 lda.str use sendable 49 lda v2 50 sta v4 51 lda.str b 52 stobjbyname 0x0, propA, v4 53 lda v2 54 return 55} 56 57slotNum = 0x2 58.function any .#~@0>#static_initializer(any a0, any a1, any a2) { 59 mov v0, a0 60 mov v1, a1 61 mov v2, a2 62 lda v2 63 sta v4 64 lda.str ArkCompilerTest 65 definepropertybyname 0x0, propB, v4 66 ldundefined 67 returnundefined 68} 69 70slotNum = 0x5 71.function any .func_main_0(any a0, any a1, any a2) { 72 newlexenvwithname 0x2, _4 73 callruntime.newsendableenv 0x1 74 mov v0, a0 75 mov v1, a1 76 mov v2, a2 77 definefunc 0x0, .#*#test2, 0x0 78 stmodulevar 0x1 79 ldai 0x3e7 80 stmodulevar 0x0 81 lda.str 1234 82 sta v4 83 lda v4 84 stlexvar 0x0, 0x0 85 ldai 0x11d3 86 sta v4 87 lda v4 88 stlexvar 0x0, 0x1 89 ldhole 90 sta v6 91 callruntime.definesendableclass 0x1, .#~@0=#SendableB, _3, 0x0, v6 92 sta v4 93 sta v5 94 definemethod 0x2, .#~@0>#static_initializer, 0x0 95 sta v7 96 mov v8, v4 97 lda v7 98 callthis0 0x3, v8 99 lda v4 100 callruntime.stsendablevar 0x0, 0x0 101 ldundefined 102 returnundefined 103} 104 105 106======> literal array buffer <====== 107------------------------------------ 108slot _0 109{ 110 index: 0 111 tag: 0 112 val: 5 113}, 114{ 115 index: 1 116 tag: 5 117 val: SendableB 118}, 119------------------------------------ 120slot _1 121{ 122 index: 0 123 tag: 2 124 val: 0 125}, 126{ 127 index: 1 128 tag: 2 129 val: 0 130}, 131{ 132 index: 2 133 tag: 2 134 val: 0 135}, 136{ 137 index: 3 138 tag: 2 139 val: 2 140}, 141{ 142 index: 4 143 tag: 5 144 val: moduleA 145}, 146{ 147 index: 5 148 tag: 5 149 val: moduleA 150}, 151{ 152 index: 6 153 tag: 5 154 val: test2 155}, 156{ 157 index: 7 158 tag: 5 159 val: test2 160}, 161{ 162 index: 8 163 tag: 2 164 val: 0 165}, 166{ 167 index: 9 168 tag: 2 169 val: 0 170}, 171------------------------------------ 172slot _2 173{ 174 index: 0 175 tag: 0 176 val: 5 177}, 178{ 179 index: 1 180 tag: 5 181 val: propA 182}, 183{ 184 index: 2 185 tag: 0 186 val: 2 187}, 188{ 189 index: 3 190 tag: 2 191 val: 2 192}, 193{ 194 index: 4 195 tag: 0 196 val: 5 197}, 198{ 199 index: 5 200 tag: 5 201 val: propB 202}, 203{ 204 index: 6 205 tag: 0 206 val: 2 207}, 208{ 209 index: 7 210 tag: 2 211 val: 2 212}, 213{ 214 index: 8 215 tag: 0 216 val: 2 217}, 218{ 219 index: 9 220 tag: 2 221 val: 1 222}, 223------------------------------------ 224slot _3 225{ 226 index: 0 227 tag: 0 228 val: 2 229}, 230{ 231 index: 1 232 tag: 2 233 val: 0 234}, 235{ 236 index: 2 237 tag: 0 238 val: 24 239}, 240{ 241 index: 3 242 tag: 24 243 val: _2 244}, 245------------------------------------ 246slot _4 247{ 248 index: 0 249 tag: 0 250 val: 2 251}, 252{ 253 index: 1 254 tag: 2 255 val: 2 256}, 257{ 258 index: 2 259 tag: 0 260 val: 5 261}, 262{ 263 index: 3 264 tag: 5 265 val: closureStr 266}, 267{ 268 index: 4 269 tag: 0 270 val: 2 271}, 272{ 273 index: 5 274 tag: 2 275 val: 0 276}, 277{ 278 index: 6 279 tag: 0 280 val: 5 281}, 282{ 283 index: 7 284 tag: 5 285 val: closureNum 286}, 287{ 288 index: 8 289 tag: 0 290 val: 2 291}, 292{ 293 index: 9 294 tag: 2 295 val: 1 296}, 297