OLD | NEW |
(Empty) | |
| 1 # |
| 2 # Autogenerated by generate-bytecode-expectations. |
| 3 # |
| 4 |
| 5 --- |
| 6 wrap: no |
| 7 test function name: f |
| 8 async iteration: yes |
| 9 |
| 10 --- |
| 11 snippet: " |
| 12 async function f() { |
| 13 for await (let x of [1, 2, 3]) {} |
| 14 } |
| 15 f(); |
| 16 " |
| 17 frame size: 19 |
| 18 parameter count: 1 |
| 19 bytecode array length: 1055 |
| 20 bytecodes: [ |
| 21 B(Ldar), R(new_target), |
| 22 B(JumpIfUndefined), U8(42), |
| 23 B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_targe
t), U8(1), |
| 24 B(PushContext), R(4), |
| 25 B(ResumeGenerator), R(new_target), |
| 26 B(Star), R(3), |
| 27 B(LdaZero), |
| 28 B(TestEqualStrict), R(3), U8(0), |
| 29 B(JumpIfTrue), U8(136), |
| 30 B(LdaSmi), I8(1), |
| 31 B(TestEqualStrict), R(3), U8(0), |
| 32 B(JumpIfTrueConstant), U8(13), |
| 33 B(LdaSmi), I8(2), |
| 34 B(TestEqualStrict), R(3), U8(0), |
| 35 B(JumpIfTrueConstant), U8(15), |
| 36 B(LdaSmi), I8(78), |
| 37 B(Star), R(5), |
| 38 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), |
| 39 B(LdaSmi), I8(-2), |
| 40 B(Star), R(3), |
| 41 B(CreateFunctionContext), U8(13), |
| 42 B(PushContext), R(0), |
| 43 B(Ldar), R(this), |
| 44 B(StaCurrentContextSlot), U8(4), |
| 45 /* 16 E> */ B(StackCheck), |
| 46 B(LdaImmutableCurrentContextSlot), U8(4), |
| 47 B(Star), R(6), |
| 48 B(Mov), R(closure), R(5), |
| 49 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8
(2), |
| 50 B(StaCurrentContextSlot), U8(5), |
| 51 B(LdaUndefined), |
| 52 B(Star), R(5), |
| 53 B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1
), |
| 54 B(StaCurrentContextSlot), U8(10), |
| 55 B(Mov), R(context), R(7), |
| 56 B(Mov), R(context), R(8), |
| 57 B(Ldar), R(closure), |
| 58 B(CreateBlockContext), U8(0), |
| 59 B(PushContext), R(1), |
| 60 B(LdaTheHole), |
| 61 B(StaCurrentContextSlot), U8(4), |
| 62 B(LdaZero), |
| 63 B(StaContextSlot), R(1), U8(9), U8(0), |
| 64 B(Mov), R(context), R(11), |
| 65 B(Mov), R(context), R(12), |
| 66 /* 43 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(9), |
| 67 B(Star), R(13), |
| 68 B(LdaNamedProperty), R(13), U8(2), U8(7), |
| 69 B(JumpIfUndefined), U8(18), |
| 70 B(JumpIfNull), U8(16), |
| 71 B(Star), R(14), |
| 72 B(CallProperty), R(14), R(13), U8(1), U8(9), |
| 73 B(JumpIfJSReceiver), U8(24), |
| 74 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid),
R(0), U8(0), |
| 75 B(LdaNamedProperty), R(13), U8(3), U8(3), |
| 76 B(Star), R(14), |
| 77 B(CallProperty), R(14), R(13), U8(1), U8(5), |
| 78 B(Star), R(14), |
| 79 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator),
R(14), U8(1), |
| 80 /* 43 E> */ B(StaContextSlot), R(1), U8(7), U8(0), |
| 81 B(LdaSmi), I8(-2), |
| 82 B(TestEqual), R(3), U8(0), |
| 83 B(JumpIfTrue), U8(17), |
| 84 B(LdaZero), |
| 85 B(TestEqualStrict), R(3), U8(0), |
| 86 B(JumpIfTrue), U8(75), |
| 87 B(LdaSmi), I8(78), |
| 88 B(Star), R(13), |
| 89 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), |
| 90 /* 40 S> */ B(LdaContextSlot), R(1), U8(7), U8(0), |
| 91 B(Star), R(14), |
| 92 B(LdaNamedProperty), R(14), U8(4), U8(13), |
| 93 B(Star), R(13), |
| 94 /* 40 E> */ B(CallProperty), R(13), R(14), U8(1), U8(11), |
| 95 B(StaContextSlot), R(1), U8(11), U8(0), |
| 96 /* 40 S> */ B(LdaUndefined), |
| 97 B(Star), R(13), |
| 98 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 99 B(Star), R(14), |
| 100 B(LdaContextSlot), R(1), U8(11), U8(0), |
| 101 B(Star), R(15), |
| 102 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 103 B(Star), R(16), |
| 104 B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8(
4), |
| 105 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 106 B(Star), R(13), |
| 107 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 108 B(Star), R(14), |
| 109 B(LdaZero), |
| 110 B(SuspendGenerator), R(14), |
| 111 B(Ldar), R(13), |
| 112 /* 57 S> */ B(Return), |
| 113 B(LdaSmi), I8(-2), |
| 114 B(Star), R(3), |
| 115 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1
4), U8(1), |
| 116 B(Star), R(15), |
| 117 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U
8(1), |
| 118 B(Star), R(16), |
| 119 B(LdaZero), |
| 120 B(TestEqualStrict), R(16), U8(0), |
| 121 B(JumpIfTrue), U8(31), |
| 122 B(LdaSmi), I8(2), |
| 123 B(TestEqualStrict), R(16), U8(0), |
| 124 B(JumpIfTrue), U8(21), |
| 125 B(Jump), U8(2), |
| 126 B(LdaTrue), |
| 127 B(Star), R(18), |
| 128 B(Mov), R(15), R(17), |
| 129 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17)
, U8(2), |
| 130 B(Star), R(10), |
| 131 B(LdaZero), |
| 132 B(Star), R(9), |
| 133 B(Jump), U8(155), |
| 134 B(Ldar), R(15), |
| 135 B(ReThrow), |
| 136 B(Ldar), R(15), |
| 137 /* 40 E> */ B(StaContextSlot), R(1), U8(8), U8(0), |
| 138 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(15), U8(1), |
| 139 B(ToBooleanLogicalNot), |
| 140 B(JumpIfFalse), U8(13), |
| 141 B(LdaContextSlot), R(1), U8(8), U8(0), |
| 142 B(Star), R(13), |
| 143 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R
(13), U8(1), |
| 144 B(LdaContextSlot), R(1), U8(8), U8(0), |
| 145 B(Star), R(13), |
| 146 B(LdaNamedProperty), R(13), U8(5), U8(15), |
| 147 B(JumpIfToBooleanTrue), U8(56), |
| 148 B(LdaContextSlot), R(1), U8(8), U8(0), |
| 149 B(Star), R(13), |
| 150 B(LdaNamedProperty), R(13), U8(6), U8(17), |
| 151 B(StaContextSlot), R(1), U8(12), U8(0), |
| 152 B(LdaSmi), I8(2), |
| 153 B(StaContextSlot), R(1), U8(9), U8(0), |
| 154 B(LdaContextSlot), R(1), U8(12), U8(0), |
| 155 B(StaContextSlot), R(1), U8(6), U8(0), |
| 156 /* 23 E> */ B(StackCheck), |
| 157 B(Ldar), R(closure), |
| 158 B(CreateBlockContext), U8(7), |
| 159 B(PushContext), R(2), |
| 160 B(LdaTheHole), |
| 161 B(StaCurrentContextSlot), U8(4), |
| 162 B(LdaContextSlot), R(1), U8(6), U8(0), |
| 163 B(StaCurrentContextSlot), U8(4), |
| 164 B(PopContext), R(2), |
| 165 B(LdaZero), |
| 166 B(StaContextSlot), R(1), U8(9), U8(0), |
| 167 B(JumpLoop), U8(226), I8(0), |
| 168 B(Jump), U8(48), |
| 169 B(Star), R(13), |
| 170 B(Ldar), R(closure), |
| 171 B(CreateCatchContext), R(13), U8(8), U8(9), |
| 172 B(Star), R(12), |
| 173 B(LdaTheHole), |
| 174 B(SetPendingMessage), |
| 175 B(Ldar), R(12), |
| 176 B(PushContext), R(2), |
| 177 B(LdaContextSlot), R(1), U8(9), U8(0), |
| 178 B(Star), R(13), |
| 179 B(LdaSmi), I8(2), |
| 180 B(TestEqualStrict), R(13), U8(19), |
| 181 B(JumpIfFalse), U8(8), |
| 182 B(LdaSmi), I8(1), |
| 183 B(StaContextSlot), R(1), U8(9), U8(0), |
| 184 B(LdaImmutableCurrentContextSlot), U8(4), |
| 185 B(Star), R(13), |
| 186 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), |
| 187 B(PopContext), R(2), |
| 188 B(LdaSmi), I8(-1), |
| 189 B(Star), R(9), |
| 190 B(Jump), U8(8), |
| 191 B(Star), R(10), |
| 192 B(LdaSmi), I8(1), |
| 193 B(Star), R(9), |
| 194 B(LdaTheHole), |
| 195 B(SetPendingMessage), |
| 196 B(Star), R(11), |
| 197 B(LdaContextSlot), R(1), U8(9), U8(0), |
| 198 B(Star), R(12), |
| 199 B(LdaZero), |
| 200 B(TestEqualStrict), R(12), U8(20), |
| 201 B(JumpIfTrueConstant), U8(17), |
| 202 B(LdaContextSlot), R(1), U8(7), U8(0), |
| 203 B(Star), R(12), |
| 204 B(LdaNamedProperty), R(12), U8(10), U8(21), |
| 205 B(StaContextSlot), R(1), U8(13), U8(0), |
| 206 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 207 B(Star), R(12), |
| 208 B(TestUndetectable), R(12), |
| 209 B(JumpIfFalse), U8(4), |
| 210 B(JumpConstant), U8(16), |
| 211 B(LdaContextSlot), R(1), U8(9), U8(0), |
| 212 B(Star), R(12), |
| 213 B(LdaSmi), I8(1), |
| 214 B(TestEqualStrict), R(12), U8(24), |
| 215 B(JumpIfFalse), U8(186), |
| 216 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 217 B(TypeOf), |
| 218 B(Star), R(12), |
| 219 B(LdaConstant), U8(11), |
| 220 B(TestEqualStrict), R(12), U8(25), |
| 221 B(JumpIfFalse), U8(4), |
| 222 B(Jump), U8(18), |
| 223 B(Wide), B(LdaSmi), I16(130), |
| 224 B(Star), R(12), |
| 225 B(LdaConstant), U8(12), |
| 226 B(Star), R(13), |
| 227 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), |
| 228 B(Throw), |
| 229 B(Mov), R(context), R(12), |
| 230 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 231 B(Star), R(13), |
| 232 B(LdaContextSlot), R(1), U8(7), U8(0), |
| 233 B(Star), R(14), |
| 234 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), |
| 235 B(StaContextSlot), R(1), U8(14), U8(0), |
| 236 B(LdaUndefined), |
| 237 B(Star), R(13), |
| 238 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 239 B(Star), R(14), |
| 240 B(LdaContextSlot), R(1), U8(14), U8(0), |
| 241 B(Star), R(15), |
| 242 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 243 B(Star), R(16), |
| 244 B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4)
, |
| 245 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 246 B(Star), R(13), |
| 247 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 248 B(Star), R(14), |
| 249 B(LdaSmi), I8(1), |
| 250 B(SuspendGenerator), R(14), |
| 251 B(Ldar), R(13), |
| 252 /* 57 S> */ B(Return), |
| 253 B(LdaSmi), I8(-2), |
| 254 B(Star), R(3), |
| 255 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1
4), U8(1), |
| 256 B(Star), R(15), |
| 257 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U
8(1), |
| 258 B(Star), R(16), |
| 259 B(LdaZero), |
| 260 B(TestEqualStrict), R(16), U8(0), |
| 261 B(JumpIfTrue), U8(39), |
| 262 B(LdaSmi), I8(2), |
| 263 B(TestEqualStrict), R(16), U8(0), |
| 264 B(JumpIfTrue), U8(29), |
| 265 B(Jump), U8(2), |
| 266 B(LdaTrue), |
| 267 B(Star), R(18), |
| 268 B(Mov), R(15), R(17), |
| 269 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17)
, U8(2), |
| 270 B(PopContext), R(1), |
| 271 B(PopContext), R(1), |
| 272 B(PopContext), R(1), |
| 273 B(PopContext), R(1), |
| 274 B(Star), R(6), |
| 275 B(LdaZero), |
| 276 B(Star), R(5), |
| 277 B(JumpConstant), U8(19), |
| 278 B(Ldar), R(15), |
| 279 B(ReThrow), |
| 280 B(Ldar), R(15), |
| 281 B(Jump), U8(20), |
| 282 B(Star), R(13), |
| 283 B(Ldar), R(closure), |
| 284 B(CreateCatchContext), R(13), U8(8), U8(14), |
| 285 B(Star), R(12), |
| 286 B(LdaTheHole), |
| 287 B(SetPendingMessage), |
| 288 B(Ldar), R(12), |
| 289 B(PushContext), R(2), |
| 290 B(PopContext), R(2), |
| 291 B(Jump), U8(159), |
| 292 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 293 B(Star), R(12), |
| 294 B(LdaContextSlot), R(1), U8(7), U8(0), |
| 295 B(Star), R(13), |
| 296 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), |
| 297 B(StaContextSlot), R(1), U8(16), U8(0), |
| 298 B(LdaUndefined), |
| 299 B(Star), R(12), |
| 300 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 301 B(Star), R(13), |
| 302 B(LdaContextSlot), R(1), U8(16), U8(0), |
| 303 B(Star), R(14), |
| 304 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 305 B(Star), R(15), |
| 306 B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8(
4), |
| 307 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 308 B(Star), R(12), |
| 309 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 310 B(Star), R(13), |
| 311 B(LdaSmi), I8(2), |
| 312 B(SuspendGenerator), R(13), |
| 313 B(Ldar), R(12), |
| 314 /* 57 S> */ B(Return), |
| 315 B(LdaSmi), I8(-2), |
| 316 B(Star), R(3), |
| 317 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1
3), U8(1), |
| 318 B(Star), R(14), |
| 319 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U
8(1), |
| 320 B(Star), R(15), |
| 321 B(LdaZero), |
| 322 B(TestEqualStrict), R(15), U8(0), |
| 323 B(JumpIfTrue), U8(40), |
| 324 B(LdaSmi), I8(2), |
| 325 B(TestEqualStrict), R(15), U8(0), |
| 326 B(JumpIfTrue), U8(30), |
| 327 B(Jump), U8(2), |
| 328 B(LdaTrue), |
| 329 B(Star), R(17), |
| 330 B(Mov), R(14), R(16), |
| 331 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16)
, U8(2), |
| 332 B(PopContext), R(1), |
| 333 B(PopContext), R(1), |
| 334 B(PopContext), R(1), |
| 335 B(PopContext), R(1), |
| 336 B(Star), R(6), |
| 337 B(LdaSmi), I8(1), |
| 338 B(Star), R(5), |
| 339 B(Jump), U8(170), |
| 340 B(Ldar), R(14), |
| 341 B(ReThrow), |
| 342 B(Ldar), R(14), |
| 343 B(StaContextSlot), R(1), U8(15), U8(0), |
| 344 B(LdaContextSlot), R(1), U8(15), U8(0), |
| 345 B(Star), R(12), |
| 346 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), |
| 347 B(JumpIfToBooleanFalse), U8(4), |
| 348 B(Jump), U8(13), |
| 349 B(LdaContextSlot), R(1), U8(15), U8(0), |
| 350 B(Star), R(12), |
| 351 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R
(12), U8(1), |
| 352 B(Ldar), R(11), |
| 353 B(SetPendingMessage), |
| 354 B(LdaZero), |
| 355 B(TestEqualStrict), R(9), U8(0), |
| 356 B(JumpIfTrue), U8(11), |
| 357 B(LdaSmi), I8(1), |
| 358 B(TestEqualStrict), R(9), U8(0), |
| 359 B(JumpIfTrue), U8(21), |
| 360 B(Jump), U8(26), |
| 361 B(PopContext), R(1), |
| 362 B(PopContext), R(1), |
| 363 B(PopContext), R(1), |
| 364 B(PopContext), R(1), |
| 365 B(LdaSmi), I8(2), |
| 366 B(Star), R(5), |
| 367 B(Mov), R(10), R(6), |
| 368 B(Jump), U8(101), |
| 369 B(PopContext), R(1), |
| 370 B(PopContext), R(1), |
| 371 B(Ldar), R(10), |
| 372 B(ReThrow), |
| 373 B(PopContext), R(1), |
| 374 B(LdaUndefined), |
| 375 B(Star), R(9), |
| 376 B(LdaCurrentContextSlot), U8(10), |
| 377 B(Star), R(10), |
| 378 B(LdaUndefined), |
| 379 B(Star), R(11), |
| 380 B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3), |
| 381 B(LdaCurrentContextSlot), U8(10), |
| 382 B(Star), R(6), |
| 383 B(LdaSmi), I8(3), |
| 384 B(Star), R(5), |
| 385 B(Jump), U8(68), |
| 386 B(Jump), U8(54), |
| 387 B(Star), R(9), |
| 388 B(Ldar), R(closure), |
| 389 B(CreateCatchContext), R(9), U8(8), U8(18), |
| 390 B(Star), R(8), |
| 391 B(LdaTheHole), |
| 392 B(SetPendingMessage), |
| 393 B(Ldar), R(8), |
| 394 B(PushContext), R(1), |
| 395 B(LdaUndefined), |
| 396 B(Star), R(9), |
| 397 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 398 B(Star), R(10), |
| 399 B(LdaImmutableCurrentContextSlot), U8(4), |
| 400 B(Star), R(11), |
| 401 B(LdaFalse), |
| 402 B(Star), R(12), |
| 403 B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4), |
| 404 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 405 B(PopContext), R(1), |
| 406 B(PopContext), R(1), |
| 407 B(Star), R(6), |
| 408 B(LdaSmi), I8(4), |
| 409 B(Star), R(5), |
| 410 B(Jump), U8(14), |
| 411 B(LdaSmi), I8(-1), |
| 412 B(Star), R(5), |
| 413 B(Jump), U8(8), |
| 414 B(Star), R(6), |
| 415 B(LdaSmi), I8(5), |
| 416 B(Star), R(5), |
| 417 B(LdaTheHole), |
| 418 B(SetPendingMessage), |
| 419 B(Star), R(7), |
| 420 B(LdaUndefined), |
| 421 B(Star), R(8), |
| 422 B(LdaCurrentContextSlot), U8(10), |
| 423 B(Star), R(9), |
| 424 B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(
2), |
| 425 B(Ldar), R(7), |
| 426 B(SetPendingMessage), |
| 427 B(LdaZero), |
| 428 B(TestEqualStrict), R(5), U8(0), |
| 429 B(JumpIfTrue), U8(39), |
| 430 B(LdaSmi), I8(1), |
| 431 B(TestEqualStrict), R(5), U8(0), |
| 432 B(JumpIfTrue), U8(35), |
| 433 B(LdaSmi), I8(2), |
| 434 B(TestEqualStrict), R(5), U8(0), |
| 435 B(JumpIfTrue), U8(31), |
| 436 B(LdaSmi), I8(3), |
| 437 B(TestEqualStrict), R(5), U8(0), |
| 438 B(JumpIfTrue), U8(27), |
| 439 B(LdaSmi), I8(4), |
| 440 B(TestEqualStrict), R(5), U8(0), |
| 441 B(JumpIfTrue), U8(23), |
| 442 B(LdaSmi), I8(5), |
| 443 B(TestEqualStrict), R(5), U8(0), |
| 444 B(JumpIfTrue), U8(19), |
| 445 B(Jump), U8(20), |
| 446 B(Ldar), R(6), |
| 447 /* 57 S> */ B(Return), |
| 448 B(Ldar), R(6), |
| 449 /* 57 S> */ B(Return), |
| 450 B(Ldar), R(6), |
| 451 /* 57 S> */ B(Return), |
| 452 B(Ldar), R(6), |
| 453 /* 57 S> */ B(Return), |
| 454 B(Ldar), R(6), |
| 455 /* 57 S> */ B(Return), |
| 456 B(Ldar), R(6), |
| 457 B(ReThrow), |
| 458 B(LdaUndefined), |
| 459 /* 57 S> */ B(Return), |
| 460 ] |
| 461 constant pool: [ |
| 462 FIXED_ARRAY_TYPE, |
| 463 CONSTANT_ELEMENTS_PAIR_TYPE, |
| 464 SYMBOL_TYPE, |
| 465 SYMBOL_TYPE, |
| 466 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], |
| 467 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], |
| 468 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], |
| 469 FIXED_ARRAY_TYPE, |
| 470 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
| 471 FIXED_ARRAY_TYPE, |
| 472 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], |
| 473 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], |
| 474 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
| 475 Smi [572], |
| 476 FIXED_ARRAY_TYPE, |
| 477 Smi [714], |
| 478 Smi [356], |
| 479 Smi [382], |
| 480 FIXED_ARRAY_TYPE, |
| 481 Smi [320], |
| 482 ] |
| 483 handlers: [ |
| 484 [83, 962, 968], |
| 485 [86, 908, 910], |
| 486 [103, 432, 438], |
| 487 [106, 384, 386], |
| 488 [534, 661, 663], |
| 489 ] |
| 490 |
| 491 --- |
| 492 snippet: " |
| 493 async function f() { |
| 494 for await (let x of [1, 2, 3]) { return x; } |
| 495 } |
| 496 f(); |
| 497 " |
| 498 frame size: 19 |
| 499 parameter count: 1 |
| 500 bytecode array length: 1115 |
| 501 bytecodes: [ |
| 502 B(Ldar), R(new_target), |
| 503 B(JumpIfUndefined), U8(42), |
| 504 B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_targe
t), U8(1), |
| 505 B(PushContext), R(4), |
| 506 B(ResumeGenerator), R(new_target), |
| 507 B(Star), R(3), |
| 508 B(LdaZero), |
| 509 B(TestEqualStrict), R(3), U8(0), |
| 510 B(JumpIfTrue), U8(136), |
| 511 B(LdaSmi), I8(1), |
| 512 B(TestEqualStrict), R(3), U8(0), |
| 513 B(JumpIfTrueConstant), U8(13), |
| 514 B(LdaSmi), I8(2), |
| 515 B(TestEqualStrict), R(3), U8(0), |
| 516 B(JumpIfTrueConstant), U8(15), |
| 517 B(LdaSmi), I8(78), |
| 518 B(Star), R(5), |
| 519 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), |
| 520 B(LdaSmi), I8(-2), |
| 521 B(Star), R(3), |
| 522 B(CreateFunctionContext), U8(13), |
| 523 B(PushContext), R(0), |
| 524 B(Ldar), R(this), |
| 525 B(StaCurrentContextSlot), U8(4), |
| 526 /* 16 E> */ B(StackCheck), |
| 527 B(LdaImmutableCurrentContextSlot), U8(4), |
| 528 B(Star), R(6), |
| 529 B(Mov), R(closure), R(5), |
| 530 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8
(2), |
| 531 B(StaCurrentContextSlot), U8(5), |
| 532 B(LdaUndefined), |
| 533 B(Star), R(5), |
| 534 B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1
), |
| 535 B(StaCurrentContextSlot), U8(10), |
| 536 B(Mov), R(context), R(7), |
| 537 B(Mov), R(context), R(8), |
| 538 B(Ldar), R(closure), |
| 539 B(CreateBlockContext), U8(0), |
| 540 B(PushContext), R(1), |
| 541 B(LdaTheHole), |
| 542 B(StaCurrentContextSlot), U8(4), |
| 543 B(LdaZero), |
| 544 B(StaContextSlot), R(1), U8(9), U8(0), |
| 545 B(Mov), R(context), R(11), |
| 546 B(Mov), R(context), R(12), |
| 547 /* 43 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(9), |
| 548 B(Star), R(13), |
| 549 B(LdaNamedProperty), R(13), U8(2), U8(7), |
| 550 B(JumpIfUndefined), U8(18), |
| 551 B(JumpIfNull), U8(16), |
| 552 B(Star), R(14), |
| 553 B(CallProperty), R(14), R(13), U8(1), U8(9), |
| 554 B(JumpIfJSReceiver), U8(24), |
| 555 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid),
R(0), U8(0), |
| 556 B(LdaNamedProperty), R(13), U8(3), U8(3), |
| 557 B(Star), R(14), |
| 558 B(CallProperty), R(14), R(13), U8(1), U8(5), |
| 559 B(Star), R(14), |
| 560 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator),
R(14), U8(1), |
| 561 /* 43 E> */ B(StaContextSlot), R(1), U8(7), U8(0), |
| 562 B(LdaSmi), I8(-2), |
| 563 B(TestEqual), R(3), U8(0), |
| 564 B(JumpIfTrue), U8(17), |
| 565 B(LdaZero), |
| 566 B(TestEqualStrict), R(3), U8(0), |
| 567 B(JumpIfTrue), U8(75), |
| 568 B(LdaSmi), I8(78), |
| 569 B(Star), R(13), |
| 570 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), |
| 571 /* 40 S> */ B(LdaContextSlot), R(1), U8(7), U8(0), |
| 572 B(Star), R(14), |
| 573 B(LdaNamedProperty), R(14), U8(4), U8(13), |
| 574 B(Star), R(13), |
| 575 /* 40 E> */ B(CallProperty), R(13), R(14), U8(1), U8(11), |
| 576 B(StaContextSlot), R(1), U8(11), U8(0), |
| 577 /* 40 S> */ B(LdaUndefined), |
| 578 B(Star), R(13), |
| 579 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 580 B(Star), R(14), |
| 581 B(LdaContextSlot), R(1), U8(11), U8(0), |
| 582 B(Star), R(15), |
| 583 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 584 B(Star), R(16), |
| 585 B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8(
4), |
| 586 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 587 B(Star), R(13), |
| 588 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 589 B(Star), R(14), |
| 590 B(LdaZero), |
| 591 B(SuspendGenerator), R(14), |
| 592 B(Ldar), R(13), |
| 593 /* 68 S> */ B(Return), |
| 594 B(LdaSmi), I8(-2), |
| 595 B(Star), R(3), |
| 596 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1
4), U8(1), |
| 597 B(Star), R(15), |
| 598 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U
8(1), |
| 599 B(Star), R(16), |
| 600 B(LdaZero), |
| 601 B(TestEqualStrict), R(16), U8(0), |
| 602 B(JumpIfTrue), U8(31), |
| 603 B(LdaSmi), I8(2), |
| 604 B(TestEqualStrict), R(16), U8(0), |
| 605 B(JumpIfTrue), U8(21), |
| 606 B(Jump), U8(2), |
| 607 B(LdaTrue), |
| 608 B(Star), R(18), |
| 609 B(Mov), R(15), R(17), |
| 610 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17)
, U8(2), |
| 611 B(Star), R(10), |
| 612 B(LdaZero), |
| 613 B(Star), R(9), |
| 614 B(Jump), U8(167), |
| 615 B(Ldar), R(15), |
| 616 B(ReThrow), |
| 617 B(Ldar), R(15), |
| 618 /* 40 E> */ B(StaContextSlot), R(1), U8(8), U8(0), |
| 619 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(15), U8(1), |
| 620 B(ToBooleanLogicalNot), |
| 621 B(JumpIfFalse), U8(13), |
| 622 B(LdaContextSlot), R(1), U8(8), U8(0), |
| 623 B(Star), R(13), |
| 624 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R
(13), U8(1), |
| 625 B(LdaContextSlot), R(1), U8(8), U8(0), |
| 626 B(Star), R(13), |
| 627 B(LdaNamedProperty), R(13), U8(5), U8(15), |
| 628 B(JumpIfToBooleanTrue), U8(68), |
| 629 B(LdaContextSlot), R(1), U8(8), U8(0), |
| 630 B(Star), R(13), |
| 631 B(LdaNamedProperty), R(13), U8(6), U8(17), |
| 632 B(StaContextSlot), R(1), U8(12), U8(0), |
| 633 B(LdaSmi), I8(2), |
| 634 B(StaContextSlot), R(1), U8(9), U8(0), |
| 635 B(LdaContextSlot), R(1), U8(12), U8(0), |
| 636 B(StaContextSlot), R(1), U8(6), U8(0), |
| 637 /* 23 E> */ B(StackCheck), |
| 638 B(Ldar), R(closure), |
| 639 B(CreateBlockContext), U8(7), |
| 640 B(PushContext), R(2), |
| 641 B(LdaTheHole), |
| 642 B(StaCurrentContextSlot), U8(4), |
| 643 B(LdaContextSlot), R(1), U8(6), U8(0), |
| 644 B(StaCurrentContextSlot), U8(4), |
| 645 /* 56 S> */ B(LdaImmutableCurrentContextSlot), U8(4), |
| 646 B(PopContext), R(2), |
| 647 B(PopContext), R(2), |
| 648 B(PopContext), R(2), |
| 649 B(PopContext), R(2), |
| 650 B(PopContext), R(2), |
| 651 B(PopContext), R(2), |
| 652 B(Star), R(10), |
| 653 B(LdaSmi), I8(1), |
| 654 B(Star), R(9), |
| 655 B(Jump), U8(62), |
| 656 B(Jump), U8(48), |
| 657 B(Star), R(13), |
| 658 B(Ldar), R(closure), |
| 659 B(CreateCatchContext), R(13), U8(8), U8(9), |
| 660 B(Star), R(12), |
| 661 B(LdaTheHole), |
| 662 B(SetPendingMessage), |
| 663 B(Ldar), R(12), |
| 664 B(PushContext), R(2), |
| 665 B(LdaContextSlot), R(1), U8(9), U8(0), |
| 666 B(Star), R(13), |
| 667 B(LdaSmi), I8(2), |
| 668 B(TestEqualStrict), R(13), U8(19), |
| 669 B(JumpIfFalse), U8(8), |
| 670 B(LdaSmi), I8(1), |
| 671 B(StaContextSlot), R(1), U8(9), U8(0), |
| 672 B(LdaImmutableCurrentContextSlot), U8(4), |
| 673 B(Star), R(13), |
| 674 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), |
| 675 B(PopContext), R(2), |
| 676 B(LdaSmi), I8(-1), |
| 677 B(Star), R(9), |
| 678 B(Jump), U8(8), |
| 679 B(Star), R(10), |
| 680 B(LdaSmi), I8(2), |
| 681 B(Star), R(9), |
| 682 B(LdaTheHole), |
| 683 B(SetPendingMessage), |
| 684 B(Star), R(11), |
| 685 B(LdaContextSlot), R(1), U8(9), U8(0), |
| 686 B(Star), R(12), |
| 687 B(LdaZero), |
| 688 B(TestEqualStrict), R(12), U8(20), |
| 689 B(JumpIfTrueConstant), U8(17), |
| 690 B(LdaContextSlot), R(1), U8(7), U8(0), |
| 691 B(Star), R(12), |
| 692 B(LdaNamedProperty), R(12), U8(10), U8(21), |
| 693 B(StaContextSlot), R(1), U8(13), U8(0), |
| 694 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 695 B(Star), R(12), |
| 696 B(TestUndetectable), R(12), |
| 697 B(JumpIfFalse), U8(4), |
| 698 B(JumpConstant), U8(16), |
| 699 B(LdaContextSlot), R(1), U8(9), U8(0), |
| 700 B(Star), R(12), |
| 701 B(LdaSmi), I8(1), |
| 702 B(TestEqualStrict), R(12), U8(24), |
| 703 B(JumpIfFalse), U8(186), |
| 704 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 705 B(TypeOf), |
| 706 B(Star), R(12), |
| 707 B(LdaConstant), U8(11), |
| 708 B(TestEqualStrict), R(12), U8(25), |
| 709 B(JumpIfFalse), U8(4), |
| 710 B(Jump), U8(18), |
| 711 B(Wide), B(LdaSmi), I16(130), |
| 712 B(Star), R(12), |
| 713 B(LdaConstant), U8(12), |
| 714 B(Star), R(13), |
| 715 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), |
| 716 B(Throw), |
| 717 B(Mov), R(context), R(12), |
| 718 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 719 B(Star), R(13), |
| 720 B(LdaContextSlot), R(1), U8(7), U8(0), |
| 721 B(Star), R(14), |
| 722 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), |
| 723 B(StaContextSlot), R(1), U8(14), U8(0), |
| 724 B(LdaUndefined), |
| 725 B(Star), R(13), |
| 726 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 727 B(Star), R(14), |
| 728 B(LdaContextSlot), R(1), U8(14), U8(0), |
| 729 B(Star), R(15), |
| 730 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 731 B(Star), R(16), |
| 732 B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4)
, |
| 733 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 734 B(Star), R(13), |
| 735 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 736 B(Star), R(14), |
| 737 B(LdaSmi), I8(1), |
| 738 B(SuspendGenerator), R(14), |
| 739 B(Ldar), R(13), |
| 740 /* 68 S> */ B(Return), |
| 741 B(LdaSmi), I8(-2), |
| 742 B(Star), R(3), |
| 743 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1
4), U8(1), |
| 744 B(Star), R(15), |
| 745 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U
8(1), |
| 746 B(Star), R(16), |
| 747 B(LdaZero), |
| 748 B(TestEqualStrict), R(16), U8(0), |
| 749 B(JumpIfTrue), U8(39), |
| 750 B(LdaSmi), I8(2), |
| 751 B(TestEqualStrict), R(16), U8(0), |
| 752 B(JumpIfTrue), U8(29), |
| 753 B(Jump), U8(2), |
| 754 B(LdaTrue), |
| 755 B(Star), R(18), |
| 756 B(Mov), R(15), R(17), |
| 757 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17)
, U8(2), |
| 758 B(PopContext), R(1), |
| 759 B(PopContext), R(1), |
| 760 B(PopContext), R(1), |
| 761 B(PopContext), R(1), |
| 762 B(Star), R(6), |
| 763 B(LdaZero), |
| 764 B(Star), R(5), |
| 765 B(JumpConstant), U8(19), |
| 766 B(Ldar), R(15), |
| 767 B(ReThrow), |
| 768 B(Ldar), R(15), |
| 769 B(Jump), U8(20), |
| 770 B(Star), R(13), |
| 771 B(Ldar), R(closure), |
| 772 B(CreateCatchContext), R(13), U8(8), U8(14), |
| 773 B(Star), R(12), |
| 774 B(LdaTheHole), |
| 775 B(SetPendingMessage), |
| 776 B(Ldar), R(12), |
| 777 B(PushContext), R(2), |
| 778 B(PopContext), R(2), |
| 779 B(Jump), U8(159), |
| 780 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 781 B(Star), R(12), |
| 782 B(LdaContextSlot), R(1), U8(7), U8(0), |
| 783 B(Star), R(13), |
| 784 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), |
| 785 B(StaContextSlot), R(1), U8(16), U8(0), |
| 786 B(LdaUndefined), |
| 787 B(Star), R(12), |
| 788 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 789 B(Star), R(13), |
| 790 B(LdaContextSlot), R(1), U8(16), U8(0), |
| 791 B(Star), R(14), |
| 792 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 793 B(Star), R(15), |
| 794 B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8(
4), |
| 795 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 796 B(Star), R(12), |
| 797 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 798 B(Star), R(13), |
| 799 B(LdaSmi), I8(2), |
| 800 B(SuspendGenerator), R(13), |
| 801 B(Ldar), R(12), |
| 802 /* 68 S> */ B(Return), |
| 803 B(LdaSmi), I8(-2), |
| 804 B(Star), R(3), |
| 805 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1
3), U8(1), |
| 806 B(Star), R(14), |
| 807 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U
8(1), |
| 808 B(Star), R(15), |
| 809 B(LdaZero), |
| 810 B(TestEqualStrict), R(15), U8(0), |
| 811 B(JumpIfTrue), U8(40), |
| 812 B(LdaSmi), I8(2), |
| 813 B(TestEqualStrict), R(15), U8(0), |
| 814 B(JumpIfTrue), U8(30), |
| 815 B(Jump), U8(2), |
| 816 B(LdaTrue), |
| 817 B(Star), R(17), |
| 818 B(Mov), R(14), R(16), |
| 819 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16)
, U8(2), |
| 820 B(PopContext), R(1), |
| 821 B(PopContext), R(1), |
| 822 B(PopContext), R(1), |
| 823 B(PopContext), R(1), |
| 824 B(Star), R(6), |
| 825 B(LdaSmi), I8(1), |
| 826 B(Star), R(5), |
| 827 B(Jump), U8(194), |
| 828 B(Ldar), R(14), |
| 829 B(ReThrow), |
| 830 B(Ldar), R(14), |
| 831 B(StaContextSlot), R(1), U8(15), U8(0), |
| 832 B(LdaContextSlot), R(1), U8(15), U8(0), |
| 833 B(Star), R(12), |
| 834 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), |
| 835 B(JumpIfToBooleanFalse), U8(4), |
| 836 B(Jump), U8(13), |
| 837 B(LdaContextSlot), R(1), U8(15), U8(0), |
| 838 B(Star), R(12), |
| 839 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R
(12), U8(1), |
| 840 B(Ldar), R(11), |
| 841 B(SetPendingMessage), |
| 842 B(LdaZero), |
| 843 B(TestEqualStrict), R(9), U8(0), |
| 844 B(JumpIfTrue), U8(18), |
| 845 B(LdaSmi), I8(1), |
| 846 B(TestEqualStrict), R(9), U8(0), |
| 847 B(JumpIfTrue), U8(28), |
| 848 B(LdaSmi), I8(2), |
| 849 B(TestEqualStrict), R(9), U8(0), |
| 850 B(JumpIfTrue), U8(38), |
| 851 B(Jump), U8(43), |
| 852 B(PopContext), R(1), |
| 853 B(PopContext), R(1), |
| 854 B(PopContext), R(1), |
| 855 B(PopContext), R(1), |
| 856 B(LdaSmi), I8(2), |
| 857 B(Star), R(5), |
| 858 B(Mov), R(10), R(6), |
| 859 B(Jump), U8(118), |
| 860 B(PopContext), R(1), |
| 861 B(PopContext), R(1), |
| 862 B(PopContext), R(1), |
| 863 B(PopContext), R(1), |
| 864 B(LdaSmi), I8(3), |
| 865 B(Star), R(5), |
| 866 B(Mov), R(10), R(6), |
| 867 B(Jump), U8(101), |
| 868 B(PopContext), R(1), |
| 869 B(PopContext), R(1), |
| 870 B(Ldar), R(10), |
| 871 B(ReThrow), |
| 872 B(PopContext), R(1), |
| 873 B(LdaUndefined), |
| 874 B(Star), R(9), |
| 875 B(LdaCurrentContextSlot), U8(10), |
| 876 B(Star), R(10), |
| 877 B(LdaUndefined), |
| 878 B(Star), R(11), |
| 879 B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3), |
| 880 B(LdaCurrentContextSlot), U8(10), |
| 881 B(Star), R(6), |
| 882 B(LdaSmi), I8(4), |
| 883 B(Star), R(5), |
| 884 B(Jump), U8(68), |
| 885 B(Jump), U8(54), |
| 886 B(Star), R(9), |
| 887 B(Ldar), R(closure), |
| 888 B(CreateCatchContext), R(9), U8(8), U8(18), |
| 889 B(Star), R(8), |
| 890 B(LdaTheHole), |
| 891 B(SetPendingMessage), |
| 892 B(Ldar), R(8), |
| 893 B(PushContext), R(1), |
| 894 B(LdaUndefined), |
| 895 B(Star), R(9), |
| 896 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 897 B(Star), R(10), |
| 898 B(LdaImmutableCurrentContextSlot), U8(4), |
| 899 B(Star), R(11), |
| 900 B(LdaFalse), |
| 901 B(Star), R(12), |
| 902 B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4), |
| 903 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 904 B(PopContext), R(1), |
| 905 B(PopContext), R(1), |
| 906 B(Star), R(6), |
| 907 B(LdaSmi), I8(5), |
| 908 B(Star), R(5), |
| 909 B(Jump), U8(14), |
| 910 B(LdaSmi), I8(-1), |
| 911 B(Star), R(5), |
| 912 B(Jump), U8(8), |
| 913 B(Star), R(6), |
| 914 B(LdaSmi), I8(6), |
| 915 B(Star), R(5), |
| 916 B(LdaTheHole), |
| 917 B(SetPendingMessage), |
| 918 B(Star), R(7), |
| 919 B(LdaUndefined), |
| 920 B(Star), R(8), |
| 921 B(LdaCurrentContextSlot), U8(10), |
| 922 B(Star), R(9), |
| 923 B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(
2), |
| 924 B(Ldar), R(7), |
| 925 B(SetPendingMessage), |
| 926 B(LdaZero), |
| 927 B(TestEqualStrict), R(5), U8(0), |
| 928 B(JumpIfTrue), U8(46), |
| 929 B(LdaSmi), I8(1), |
| 930 B(TestEqualStrict), R(5), U8(0), |
| 931 B(JumpIfTrue), U8(42), |
| 932 B(LdaSmi), I8(2), |
| 933 B(TestEqualStrict), R(5), U8(0), |
| 934 B(JumpIfTrue), U8(38), |
| 935 B(LdaSmi), I8(3), |
| 936 B(TestEqualStrict), R(5), U8(0), |
| 937 B(JumpIfTrue), U8(34), |
| 938 B(LdaSmi), I8(4), |
| 939 B(TestEqualStrict), R(5), U8(0), |
| 940 B(JumpIfTrue), U8(44), |
| 941 B(LdaSmi), I8(5), |
| 942 B(TestEqualStrict), R(5), U8(0), |
| 943 B(JumpIfTrue), U8(40), |
| 944 B(LdaSmi), I8(6), |
| 945 B(TestEqualStrict), R(5), U8(0), |
| 946 B(JumpIfTrue), U8(36), |
| 947 B(Jump), U8(37), |
| 948 B(Ldar), R(6), |
| 949 /* 68 S> */ B(Return), |
| 950 B(Ldar), R(6), |
| 951 /* 68 S> */ B(Return), |
| 952 B(Ldar), R(6), |
| 953 /* 68 S> */ B(Return), |
| 954 B(LdaCurrentContextSlot), U8(10), |
| 955 B(Star), R(9), |
| 956 B(LdaUndefined), |
| 957 B(Star), R(8), |
| 958 B(Mov), R(6), R(10), |
| 959 B(CallJSRuntime), U8(%promise_resolve), R(8), U8(3), |
| 960 B(Ldar), R(9), |
| 961 /* 68 S> */ B(Return), |
| 962 B(Ldar), R(6), |
| 963 /* 68 S> */ B(Return), |
| 964 B(Ldar), R(6), |
| 965 /* 68 S> */ B(Return), |
| 966 B(Ldar), R(6), |
| 967 B(ReThrow), |
| 968 B(LdaUndefined), |
| 969 /* 68 S> */ B(Return), |
| 970 ] |
| 971 constant pool: [ |
| 972 FIXED_ARRAY_TYPE, |
| 973 CONSTANT_ELEMENTS_PAIR_TYPE, |
| 974 SYMBOL_TYPE, |
| 975 SYMBOL_TYPE, |
| 976 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], |
| 977 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], |
| 978 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], |
| 979 FIXED_ARRAY_TYPE, |
| 980 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
| 981 FIXED_ARRAY_TYPE, |
| 982 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], |
| 983 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], |
| 984 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
| 985 Smi [584], |
| 986 FIXED_ARRAY_TYPE, |
| 987 Smi [726], |
| 988 Smi [356], |
| 989 Smi [382], |
| 990 FIXED_ARRAY_TYPE, |
| 991 Smi [344], |
| 992 ] |
| 993 handlers: [ |
| 994 [83, 998, 1004], |
| 995 [86, 944, 946], |
| 996 [103, 444, 450], |
| 997 [106, 396, 398], |
| 998 [546, 673, 675], |
| 999 ] |
| 1000 |
| 1001 --- |
| 1002 snippet: " |
| 1003 async function f() { |
| 1004 for await (let x of [10, 20, 30]) { |
| 1005 if (x == 10) continue; |
| 1006 if (x == 20) break; |
| 1007 } |
| 1008 } |
| 1009 f(); |
| 1010 " |
| 1011 frame size: 19 |
| 1012 parameter count: 1 |
| 1013 bytecode array length: 1092 |
| 1014 bytecodes: [ |
| 1015 B(Ldar), R(new_target), |
| 1016 B(JumpIfUndefined), U8(42), |
| 1017 B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_targe
t), U8(1), |
| 1018 B(PushContext), R(4), |
| 1019 B(ResumeGenerator), R(new_target), |
| 1020 B(Star), R(3), |
| 1021 B(LdaZero), |
| 1022 B(TestEqualStrict), R(3), U8(0), |
| 1023 B(JumpIfTrue), U8(136), |
| 1024 B(LdaSmi), I8(1), |
| 1025 B(TestEqualStrict), R(3), U8(0), |
| 1026 B(JumpIfTrueConstant), U8(13), |
| 1027 B(LdaSmi), I8(2), |
| 1028 B(TestEqualStrict), R(3), U8(0), |
| 1029 B(JumpIfTrueConstant), U8(15), |
| 1030 B(LdaSmi), I8(78), |
| 1031 B(Star), R(5), |
| 1032 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), |
| 1033 B(LdaSmi), I8(-2), |
| 1034 B(Star), R(3), |
| 1035 B(CreateFunctionContext), U8(13), |
| 1036 B(PushContext), R(0), |
| 1037 B(Ldar), R(this), |
| 1038 B(StaCurrentContextSlot), U8(4), |
| 1039 /* 16 E> */ B(StackCheck), |
| 1040 B(LdaImmutableCurrentContextSlot), U8(4), |
| 1041 B(Star), R(6), |
| 1042 B(Mov), R(closure), R(5), |
| 1043 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8
(2), |
| 1044 B(StaCurrentContextSlot), U8(5), |
| 1045 B(LdaUndefined), |
| 1046 B(Star), R(5), |
| 1047 B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1
), |
| 1048 B(StaCurrentContextSlot), U8(10), |
| 1049 B(Mov), R(context), R(7), |
| 1050 B(Mov), R(context), R(8), |
| 1051 B(Ldar), R(closure), |
| 1052 B(CreateBlockContext), U8(0), |
| 1053 B(PushContext), R(1), |
| 1054 B(LdaTheHole), |
| 1055 B(StaCurrentContextSlot), U8(4), |
| 1056 B(LdaZero), |
| 1057 B(StaContextSlot), R(1), U8(9), U8(0), |
| 1058 B(Mov), R(context), R(11), |
| 1059 B(Mov), R(context), R(12), |
| 1060 /* 43 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(9), |
| 1061 B(Star), R(13), |
| 1062 B(LdaNamedProperty), R(13), U8(2), U8(7), |
| 1063 B(JumpIfUndefined), U8(18), |
| 1064 B(JumpIfNull), U8(16), |
| 1065 B(Star), R(14), |
| 1066 B(CallProperty), R(14), R(13), U8(1), U8(9), |
| 1067 B(JumpIfJSReceiver), U8(24), |
| 1068 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid),
R(0), U8(0), |
| 1069 B(LdaNamedProperty), R(13), U8(3), U8(3), |
| 1070 B(Star), R(14), |
| 1071 B(CallProperty), R(14), R(13), U8(1), U8(5), |
| 1072 B(Star), R(14), |
| 1073 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator),
R(14), U8(1), |
| 1074 /* 43 E> */ B(StaContextSlot), R(1), U8(7), U8(0), |
| 1075 B(LdaSmi), I8(-2), |
| 1076 B(TestEqual), R(3), U8(0), |
| 1077 B(JumpIfTrue), U8(17), |
| 1078 B(LdaZero), |
| 1079 B(TestEqualStrict), R(3), U8(0), |
| 1080 B(JumpIfTrue), U8(75), |
| 1081 B(LdaSmi), I8(78), |
| 1082 B(Star), R(13), |
| 1083 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), |
| 1084 /* 40 S> */ B(LdaContextSlot), R(1), U8(7), U8(0), |
| 1085 B(Star), R(14), |
| 1086 B(LdaNamedProperty), R(14), U8(4), U8(13), |
| 1087 B(Star), R(13), |
| 1088 /* 40 E> */ B(CallProperty), R(13), R(14), U8(1), U8(11), |
| 1089 B(StaContextSlot), R(1), U8(11), U8(0), |
| 1090 /* 40 S> */ B(LdaUndefined), |
| 1091 B(Star), R(13), |
| 1092 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 1093 B(Star), R(14), |
| 1094 B(LdaContextSlot), R(1), U8(11), U8(0), |
| 1095 B(Star), R(15), |
| 1096 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 1097 B(Star), R(16), |
| 1098 B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8(
4), |
| 1099 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 1100 B(Star), R(13), |
| 1101 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 1102 B(Star), R(14), |
| 1103 B(LdaZero), |
| 1104 B(SuspendGenerator), R(14), |
| 1105 B(Ldar), R(13), |
| 1106 /* 114 S> */ B(Return), |
| 1107 B(LdaSmi), I8(-2), |
| 1108 B(Star), R(3), |
| 1109 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1
4), U8(1), |
| 1110 B(Star), R(15), |
| 1111 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U
8(1), |
| 1112 B(Star), R(16), |
| 1113 B(LdaZero), |
| 1114 B(TestEqualStrict), R(16), U8(0), |
| 1115 B(JumpIfTrue), U8(31), |
| 1116 B(LdaSmi), I8(2), |
| 1117 B(TestEqualStrict), R(16), U8(0), |
| 1118 B(JumpIfTrue), U8(21), |
| 1119 B(Jump), U8(2), |
| 1120 B(LdaTrue), |
| 1121 B(Star), R(18), |
| 1122 B(Mov), R(15), R(17), |
| 1123 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17)
, U8(2), |
| 1124 B(Star), R(10), |
| 1125 B(LdaZero), |
| 1126 B(Star), R(9), |
| 1127 B(Jump), U8(192), |
| 1128 B(Ldar), R(15), |
| 1129 B(ReThrow), |
| 1130 B(Ldar), R(15), |
| 1131 /* 40 E> */ B(StaContextSlot), R(1), U8(8), U8(0), |
| 1132 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(15), U8(1), |
| 1133 B(ToBooleanLogicalNot), |
| 1134 B(JumpIfFalse), U8(13), |
| 1135 B(LdaContextSlot), R(1), U8(8), U8(0), |
| 1136 B(Star), R(13), |
| 1137 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R
(13), U8(1), |
| 1138 B(LdaContextSlot), R(1), U8(8), U8(0), |
| 1139 B(Star), R(13), |
| 1140 B(LdaNamedProperty), R(13), U8(5), U8(15), |
| 1141 B(JumpIfToBooleanTrue), U8(93), |
| 1142 B(LdaContextSlot), R(1), U8(8), U8(0), |
| 1143 B(Star), R(13), |
| 1144 B(LdaNamedProperty), R(13), U8(6), U8(17), |
| 1145 B(StaContextSlot), R(1), U8(12), U8(0), |
| 1146 B(LdaSmi), I8(2), |
| 1147 B(StaContextSlot), R(1), U8(9), U8(0), |
| 1148 B(LdaContextSlot), R(1), U8(12), U8(0), |
| 1149 B(StaContextSlot), R(1), U8(6), U8(0), |
| 1150 /* 23 E> */ B(StackCheck), |
| 1151 B(Ldar), R(closure), |
| 1152 B(CreateBlockContext), U8(7), |
| 1153 B(PushContext), R(2), |
| 1154 B(LdaTheHole), |
| 1155 B(StaCurrentContextSlot), U8(4), |
| 1156 B(LdaContextSlot), R(1), U8(6), U8(0), |
| 1157 B(StaCurrentContextSlot), U8(4), |
| 1158 /* 63 S> */ B(LdaImmutableCurrentContextSlot), U8(4), |
| 1159 B(Star), R(13), |
| 1160 B(LdaSmi), I8(10), |
| 1161 /* 69 E> */ B(TestEqual), R(13), U8(19), |
| 1162 B(JumpIfFalse), U8(8), |
| 1163 /* 76 S> */ B(PopContext), R(2), |
| 1164 B(PopContext), R(2), |
| 1165 B(Jump), U8(26), |
| 1166 /* 90 S> */ B(LdaImmutableCurrentContextSlot), U8(4), |
| 1167 B(Star), R(13), |
| 1168 B(LdaSmi), I8(20), |
| 1169 /* 96 E> */ B(TestEqual), R(13), U8(20), |
| 1170 B(JumpIfFalse), U8(8), |
| 1171 /* 103 S> */ B(PopContext), R(2), |
| 1172 B(PopContext), R(2), |
| 1173 B(Jump), U8(15), |
| 1174 B(PopContext), R(2), |
| 1175 B(LdaZero), |
| 1176 B(StaContextSlot), R(1), U8(9), U8(0), |
| 1177 B(Wide), B(JumpLoop), U16(261), I16(0), |
| 1178 B(Jump), U8(48), |
| 1179 B(Star), R(13), |
| 1180 B(Ldar), R(closure), |
| 1181 B(CreateCatchContext), R(13), U8(8), U8(9), |
| 1182 B(Star), R(12), |
| 1183 B(LdaTheHole), |
| 1184 B(SetPendingMessage), |
| 1185 B(Ldar), R(12), |
| 1186 B(PushContext), R(2), |
| 1187 B(LdaContextSlot), R(1), U8(9), U8(0), |
| 1188 B(Star), R(13), |
| 1189 B(LdaSmi), I8(2), |
| 1190 B(TestEqualStrict), R(13), U8(21), |
| 1191 B(JumpIfFalse), U8(8), |
| 1192 B(LdaSmi), I8(1), |
| 1193 B(StaContextSlot), R(1), U8(9), U8(0), |
| 1194 B(LdaImmutableCurrentContextSlot), U8(4), |
| 1195 B(Star), R(13), |
| 1196 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), |
| 1197 B(PopContext), R(2), |
| 1198 B(LdaSmi), I8(-1), |
| 1199 B(Star), R(9), |
| 1200 B(Jump), U8(8), |
| 1201 B(Star), R(10), |
| 1202 B(LdaSmi), I8(1), |
| 1203 B(Star), R(9), |
| 1204 B(LdaTheHole), |
| 1205 B(SetPendingMessage), |
| 1206 B(Star), R(11), |
| 1207 B(LdaContextSlot), R(1), U8(9), U8(0), |
| 1208 B(Star), R(12), |
| 1209 B(LdaZero), |
| 1210 B(TestEqualStrict), R(12), U8(22), |
| 1211 B(JumpIfTrueConstant), U8(17), |
| 1212 B(LdaContextSlot), R(1), U8(7), U8(0), |
| 1213 B(Star), R(12), |
| 1214 B(LdaNamedProperty), R(12), U8(10), U8(23), |
| 1215 B(StaContextSlot), R(1), U8(13), U8(0), |
| 1216 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 1217 B(Star), R(12), |
| 1218 B(TestUndetectable), R(12), |
| 1219 B(JumpIfFalse), U8(4), |
| 1220 B(JumpConstant), U8(16), |
| 1221 B(LdaContextSlot), R(1), U8(9), U8(0), |
| 1222 B(Star), R(12), |
| 1223 B(LdaSmi), I8(1), |
| 1224 B(TestEqualStrict), R(12), U8(26), |
| 1225 B(JumpIfFalse), U8(186), |
| 1226 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 1227 B(TypeOf), |
| 1228 B(Star), R(12), |
| 1229 B(LdaConstant), U8(11), |
| 1230 B(TestEqualStrict), R(12), U8(27), |
| 1231 B(JumpIfFalse), U8(4), |
| 1232 B(Jump), U8(18), |
| 1233 B(Wide), B(LdaSmi), I16(130), |
| 1234 B(Star), R(12), |
| 1235 B(LdaConstant), U8(12), |
| 1236 B(Star), R(13), |
| 1237 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), |
| 1238 B(Throw), |
| 1239 B(Mov), R(context), R(12), |
| 1240 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 1241 B(Star), R(13), |
| 1242 B(LdaContextSlot), R(1), U8(7), U8(0), |
| 1243 B(Star), R(14), |
| 1244 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), |
| 1245 B(StaContextSlot), R(1), U8(14), U8(0), |
| 1246 B(LdaUndefined), |
| 1247 B(Star), R(13), |
| 1248 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 1249 B(Star), R(14), |
| 1250 B(LdaContextSlot), R(1), U8(14), U8(0), |
| 1251 B(Star), R(15), |
| 1252 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 1253 B(Star), R(16), |
| 1254 B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4)
, |
| 1255 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 1256 B(Star), R(13), |
| 1257 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 1258 B(Star), R(14), |
| 1259 B(LdaSmi), I8(1), |
| 1260 B(SuspendGenerator), R(14), |
| 1261 B(Ldar), R(13), |
| 1262 /* 114 S> */ B(Return), |
| 1263 B(LdaSmi), I8(-2), |
| 1264 B(Star), R(3), |
| 1265 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1
4), U8(1), |
| 1266 B(Star), R(15), |
| 1267 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U
8(1), |
| 1268 B(Star), R(16), |
| 1269 B(LdaZero), |
| 1270 B(TestEqualStrict), R(16), U8(0), |
| 1271 B(JumpIfTrue), U8(39), |
| 1272 B(LdaSmi), I8(2), |
| 1273 B(TestEqualStrict), R(16), U8(0), |
| 1274 B(JumpIfTrue), U8(29), |
| 1275 B(Jump), U8(2), |
| 1276 B(LdaTrue), |
| 1277 B(Star), R(18), |
| 1278 B(Mov), R(15), R(17), |
| 1279 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17)
, U8(2), |
| 1280 B(PopContext), R(1), |
| 1281 B(PopContext), R(1), |
| 1282 B(PopContext), R(1), |
| 1283 B(PopContext), R(1), |
| 1284 B(Star), R(6), |
| 1285 B(LdaZero), |
| 1286 B(Star), R(5), |
| 1287 B(JumpConstant), U8(19), |
| 1288 B(Ldar), R(15), |
| 1289 B(ReThrow), |
| 1290 B(Ldar), R(15), |
| 1291 B(Jump), U8(20), |
| 1292 B(Star), R(13), |
| 1293 B(Ldar), R(closure), |
| 1294 B(CreateCatchContext), R(13), U8(8), U8(14), |
| 1295 B(Star), R(12), |
| 1296 B(LdaTheHole), |
| 1297 B(SetPendingMessage), |
| 1298 B(Ldar), R(12), |
| 1299 B(PushContext), R(2), |
| 1300 B(PopContext), R(2), |
| 1301 B(Jump), U8(159), |
| 1302 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 1303 B(Star), R(12), |
| 1304 B(LdaContextSlot), R(1), U8(7), U8(0), |
| 1305 B(Star), R(13), |
| 1306 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), |
| 1307 B(StaContextSlot), R(1), U8(16), U8(0), |
| 1308 B(LdaUndefined), |
| 1309 B(Star), R(12), |
| 1310 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 1311 B(Star), R(13), |
| 1312 B(LdaContextSlot), R(1), U8(16), U8(0), |
| 1313 B(Star), R(14), |
| 1314 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 1315 B(Star), R(15), |
| 1316 B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8(
4), |
| 1317 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 1318 B(Star), R(12), |
| 1319 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), |
| 1320 B(Star), R(13), |
| 1321 B(LdaSmi), I8(2), |
| 1322 B(SuspendGenerator), R(13), |
| 1323 B(Ldar), R(12), |
| 1324 /* 114 S> */ B(Return), |
| 1325 B(LdaSmi), I8(-2), |
| 1326 B(Star), R(3), |
| 1327 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1
3), U8(1), |
| 1328 B(Star), R(14), |
| 1329 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U
8(1), |
| 1330 B(Star), R(15), |
| 1331 B(LdaZero), |
| 1332 B(TestEqualStrict), R(15), U8(0), |
| 1333 B(JumpIfTrue), U8(40), |
| 1334 B(LdaSmi), I8(2), |
| 1335 B(TestEqualStrict), R(15), U8(0), |
| 1336 B(JumpIfTrue), U8(30), |
| 1337 B(Jump), U8(2), |
| 1338 B(LdaTrue), |
| 1339 B(Star), R(17), |
| 1340 B(Mov), R(14), R(16), |
| 1341 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16)
, U8(2), |
| 1342 B(PopContext), R(1), |
| 1343 B(PopContext), R(1), |
| 1344 B(PopContext), R(1), |
| 1345 B(PopContext), R(1), |
| 1346 B(Star), R(6), |
| 1347 B(LdaSmi), I8(1), |
| 1348 B(Star), R(5), |
| 1349 B(Jump), U8(170), |
| 1350 B(Ldar), R(14), |
| 1351 B(ReThrow), |
| 1352 B(Ldar), R(14), |
| 1353 B(StaContextSlot), R(1), U8(15), U8(0), |
| 1354 B(LdaContextSlot), R(1), U8(15), U8(0), |
| 1355 B(Star), R(12), |
| 1356 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), |
| 1357 B(JumpIfToBooleanFalse), U8(4), |
| 1358 B(Jump), U8(13), |
| 1359 B(LdaContextSlot), R(1), U8(15), U8(0), |
| 1360 B(Star), R(12), |
| 1361 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R
(12), U8(1), |
| 1362 B(Ldar), R(11), |
| 1363 B(SetPendingMessage), |
| 1364 B(LdaZero), |
| 1365 B(TestEqualStrict), R(9), U8(0), |
| 1366 B(JumpIfTrue), U8(11), |
| 1367 B(LdaSmi), I8(1), |
| 1368 B(TestEqualStrict), R(9), U8(0), |
| 1369 B(JumpIfTrue), U8(21), |
| 1370 B(Jump), U8(26), |
| 1371 B(PopContext), R(1), |
| 1372 B(PopContext), R(1), |
| 1373 B(PopContext), R(1), |
| 1374 B(PopContext), R(1), |
| 1375 B(LdaSmi), I8(2), |
| 1376 B(Star), R(5), |
| 1377 B(Mov), R(10), R(6), |
| 1378 B(Jump), U8(101), |
| 1379 B(PopContext), R(1), |
| 1380 B(PopContext), R(1), |
| 1381 B(Ldar), R(10), |
| 1382 B(ReThrow), |
| 1383 B(PopContext), R(1), |
| 1384 B(LdaUndefined), |
| 1385 B(Star), R(9), |
| 1386 B(LdaCurrentContextSlot), U8(10), |
| 1387 B(Star), R(10), |
| 1388 B(LdaUndefined), |
| 1389 B(Star), R(11), |
| 1390 B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3), |
| 1391 B(LdaCurrentContextSlot), U8(10), |
| 1392 B(Star), R(6), |
| 1393 B(LdaSmi), I8(3), |
| 1394 B(Star), R(5), |
| 1395 B(Jump), U8(68), |
| 1396 B(Jump), U8(54), |
| 1397 B(Star), R(9), |
| 1398 B(Ldar), R(closure), |
| 1399 B(CreateCatchContext), R(9), U8(8), U8(18), |
| 1400 B(Star), R(8), |
| 1401 B(LdaTheHole), |
| 1402 B(SetPendingMessage), |
| 1403 B(Ldar), R(8), |
| 1404 B(PushContext), R(1), |
| 1405 B(LdaUndefined), |
| 1406 B(Star), R(9), |
| 1407 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 1408 B(Star), R(10), |
| 1409 B(LdaImmutableCurrentContextSlot), U8(4), |
| 1410 B(Star), R(11), |
| 1411 B(LdaFalse), |
| 1412 B(Star), R(12), |
| 1413 B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4), |
| 1414 B(LdaContextSlot), R(1), U8(10), U8(0), |
| 1415 B(PopContext), R(1), |
| 1416 B(PopContext), R(1), |
| 1417 B(Star), R(6), |
| 1418 B(LdaSmi), I8(4), |
| 1419 B(Star), R(5), |
| 1420 B(Jump), U8(14), |
| 1421 B(LdaSmi), I8(-1), |
| 1422 B(Star), R(5), |
| 1423 B(Jump), U8(8), |
| 1424 B(Star), R(6), |
| 1425 B(LdaSmi), I8(5), |
| 1426 B(Star), R(5), |
| 1427 B(LdaTheHole), |
| 1428 B(SetPendingMessage), |
| 1429 B(Star), R(7), |
| 1430 B(LdaUndefined), |
| 1431 B(Star), R(8), |
| 1432 B(LdaCurrentContextSlot), U8(10), |
| 1433 B(Star), R(9), |
| 1434 B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(
2), |
| 1435 B(Ldar), R(7), |
| 1436 B(SetPendingMessage), |
| 1437 B(LdaZero), |
| 1438 B(TestEqualStrict), R(5), U8(0), |
| 1439 B(JumpIfTrue), U8(39), |
| 1440 B(LdaSmi), I8(1), |
| 1441 B(TestEqualStrict), R(5), U8(0), |
| 1442 B(JumpIfTrue), U8(35), |
| 1443 B(LdaSmi), I8(2), |
| 1444 B(TestEqualStrict), R(5), U8(0), |
| 1445 B(JumpIfTrue), U8(31), |
| 1446 B(LdaSmi), I8(3), |
| 1447 B(TestEqualStrict), R(5), U8(0), |
| 1448 B(JumpIfTrue), U8(27), |
| 1449 B(LdaSmi), I8(4), |
| 1450 B(TestEqualStrict), R(5), U8(0), |
| 1451 B(JumpIfTrue), U8(23), |
| 1452 B(LdaSmi), I8(5), |
| 1453 B(TestEqualStrict), R(5), U8(0), |
| 1454 B(JumpIfTrue), U8(19), |
| 1455 B(Jump), U8(20), |
| 1456 B(Ldar), R(6), |
| 1457 /* 114 S> */ B(Return), |
| 1458 B(Ldar), R(6), |
| 1459 /* 114 S> */ B(Return), |
| 1460 B(Ldar), R(6), |
| 1461 /* 114 S> */ B(Return), |
| 1462 B(Ldar), R(6), |
| 1463 /* 114 S> */ B(Return), |
| 1464 B(Ldar), R(6), |
| 1465 /* 114 S> */ B(Return), |
| 1466 B(Ldar), R(6), |
| 1467 B(ReThrow), |
| 1468 B(LdaUndefined), |
| 1469 /* 114 S> */ B(Return), |
| 1470 ] |
| 1471 constant pool: [ |
| 1472 FIXED_ARRAY_TYPE, |
| 1473 CONSTANT_ELEMENTS_PAIR_TYPE, |
| 1474 SYMBOL_TYPE, |
| 1475 SYMBOL_TYPE, |
| 1476 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], |
| 1477 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], |
| 1478 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], |
| 1479 FIXED_ARRAY_TYPE, |
| 1480 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
| 1481 FIXED_ARRAY_TYPE, |
| 1482 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], |
| 1483 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], |
| 1484 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
| 1485 Smi [609], |
| 1486 FIXED_ARRAY_TYPE, |
| 1487 Smi [751], |
| 1488 Smi [356], |
| 1489 Smi [382], |
| 1490 FIXED_ARRAY_TYPE, |
| 1491 Smi [320], |
| 1492 ] |
| 1493 handlers: [ |
| 1494 [83, 999, 1005], |
| 1495 [86, 945, 947], |
| 1496 [103, 469, 475], |
| 1497 [106, 421, 423], |
| 1498 [571, 698, 700], |
| 1499 ] |
| 1500 |
| 1501 --- |
| 1502 snippet: " |
| 1503 async function f() { |
| 1504 var x = { 'a': 1, 'b': 2 }; |
| 1505 for (x['a'] of [1,2,3]) { return x['a']; } |
| 1506 } |
| 1507 f(); |
| 1508 " |
| 1509 frame size: 14 |
| 1510 parameter count: 1 |
| 1511 bytecode array length: 596 |
| 1512 bytecodes: [ |
| 1513 B(Ldar), R(new_target), |
| 1514 B(JumpIfUndefined), U8(22), |
| 1515 B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_targe
t), U8(1), |
| 1516 B(PushContext), R(3), |
| 1517 B(ResumeGenerator), R(new_target), |
| 1518 B(Star), R(2), |
| 1519 B(LdaSmi), I8(78), |
| 1520 B(Star), R(4), |
| 1521 B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1), |
| 1522 B(LdaSmi), I8(-2), |
| 1523 B(Star), R(2), |
| 1524 B(CreateFunctionContext), U8(10), |
| 1525 B(PushContext), R(0), |
| 1526 B(Ldar), R(this), |
| 1527 B(StaCurrentContextSlot), U8(4), |
| 1528 /* 16 E> */ B(StackCheck), |
| 1529 B(LdaImmutableCurrentContextSlot), U8(4), |
| 1530 B(Star), R(5), |
| 1531 B(Mov), R(closure), R(4), |
| 1532 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(4), U8
(2), |
| 1533 B(StaCurrentContextSlot), U8(5), |
| 1534 B(LdaUndefined), |
| 1535 B(Star), R(4), |
| 1536 B(CallJSRuntime), U8(%async_function_promise_create), R(4), U8(1
), |
| 1537 B(StaCurrentContextSlot), U8(13), |
| 1538 B(Mov), R(context), R(6), |
| 1539 B(Mov), R(context), R(7), |
| 1540 /* 31 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(8), |
| 1541 B(Ldar), R(8), |
| 1542 /* 31 E> */ B(StaCurrentContextSlot), U8(6), |
| 1543 B(LdaZero), |
| 1544 B(StaCurrentContextSlot), U8(9), |
| 1545 B(Mov), R(context), R(10), |
| 1546 B(Mov), R(context), R(11), |
| 1547 /* 68 S> */ B(CreateArrayLiteral), U8(1), U8(3), U8(9), |
| 1548 B(Star), R(12), |
| 1549 B(LdaNamedProperty), R(12), U8(2), U8(4), |
| 1550 B(Star), R(13), |
| 1551 B(CallProperty), R(13), R(12), U8(1), U8(6), |
| 1552 B(JumpIfJSReceiver), U8(7), |
| 1553 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0),
U8(0), |
| 1554 /* 68 E> */ B(StaCurrentContextSlot), U8(7), |
| 1555 /* 65 S> */ B(LdaCurrentContextSlot), U8(7), |
| 1556 B(Star), R(13), |
| 1557 B(LdaNamedProperty), R(13), U8(3), U8(10), |
| 1558 B(Star), R(12), |
| 1559 /* 65 E> */ B(CallProperty), R(12), R(13), U8(1), U8(8), |
| 1560 /* 65 E> */ B(StaCurrentContextSlot), U8(8), |
| 1561 B(Star), R(12), |
| 1562 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), |
| 1563 B(ToBooleanLogicalNot), |
| 1564 B(JumpIfFalse), U8(11), |
| 1565 B(LdaCurrentContextSlot), U8(8), |
| 1566 B(Star), R(12), |
| 1567 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R
(12), U8(1), |
| 1568 B(LdaCurrentContextSlot), U8(8), |
| 1569 B(Star), R(12), |
| 1570 B(LdaNamedProperty), R(12), U8(4), U8(12), |
| 1571 B(JumpIfToBooleanTrue), U8(42), |
| 1572 B(LdaImmutableCurrentContextSlot), U8(6), |
| 1573 B(Star), R(12), |
| 1574 B(LdaCurrentContextSlot), U8(8), |
| 1575 B(Star), R(13), |
| 1576 /* 58 E> */ B(LdaNamedProperty), R(13), U8(5), U8(14), |
| 1577 B(StaCurrentContextSlot), U8(10), |
| 1578 B(LdaSmi), I8(2), |
| 1579 B(StaCurrentContextSlot), U8(9), |
| 1580 B(LdaCurrentContextSlot), U8(10), |
| 1581 B(StaNamedPropertySloppy), R(12), U8(6), U8(16), |
| 1582 /* 53 E> */ B(StackCheck), |
| 1583 /* 79 S> */ B(LdaImmutableCurrentContextSlot), U8(6), |
| 1584 B(Star), R(12), |
| 1585 /* 87 E> */ B(LdaNamedProperty), R(12), U8(6), U8(18), |
| 1586 B(Star), R(9), |
| 1587 B(LdaZero), |
| 1588 B(Star), R(8), |
| 1589 B(Jump), U8(62), |
| 1590 B(Jump), U8(48), |
| 1591 B(Star), R(12), |
| 1592 B(Ldar), R(closure), |
| 1593 B(CreateCatchContext), R(12), U8(7), U8(8), |
| 1594 B(Star), R(11), |
| 1595 B(LdaTheHole), |
| 1596 B(SetPendingMessage), |
| 1597 B(Ldar), R(11), |
| 1598 B(PushContext), R(1), |
| 1599 B(LdaContextSlot), R(1), U8(9), U8(0), |
| 1600 B(Star), R(12), |
| 1601 B(LdaSmi), I8(2), |
| 1602 B(TestEqualStrict), R(12), U8(20), |
| 1603 B(JumpIfFalse), U8(8), |
| 1604 B(LdaSmi), I8(1), |
| 1605 B(StaContextSlot), R(1), U8(9), U8(0), |
| 1606 B(LdaImmutableCurrentContextSlot), U8(4), |
| 1607 B(Star), R(12), |
| 1608 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), |
| 1609 B(PopContext), R(1), |
| 1610 B(LdaSmi), I8(-1), |
| 1611 B(Star), R(8), |
| 1612 B(Jump), U8(8), |
| 1613 B(Star), R(9), |
| 1614 B(LdaSmi), I8(1), |
| 1615 B(Star), R(8), |
| 1616 B(LdaTheHole), |
| 1617 B(SetPendingMessage), |
| 1618 B(Star), R(10), |
| 1619 B(LdaCurrentContextSlot), U8(9), |
| 1620 B(Star), R(11), |
| 1621 B(LdaZero), |
| 1622 B(TestEqualStrict), R(11), U8(21), |
| 1623 B(JumpIfTrue), U8(135), |
| 1624 B(LdaCurrentContextSlot), U8(7), |
| 1625 B(Star), R(11), |
| 1626 B(LdaNamedProperty), R(11), U8(9), U8(22), |
| 1627 B(StaCurrentContextSlot), U8(11), |
| 1628 B(LdaCurrentContextSlot), U8(11), |
| 1629 B(Star), R(11), |
| 1630 B(TestUndetectable), R(11), |
| 1631 B(JumpIfFalse), U8(4), |
| 1632 B(Jump), U8(115), |
| 1633 B(LdaCurrentContextSlot), U8(9), |
| 1634 B(Star), R(11), |
| 1635 B(LdaSmi), I8(1), |
| 1636 B(TestEqualStrict), R(11), U8(25), |
| 1637 B(JumpIfFalse), U8(69), |
| 1638 B(LdaCurrentContextSlot), U8(11), |
| 1639 B(TypeOf), |
| 1640 B(Star), R(11), |
| 1641 B(LdaConstant), U8(10), |
| 1642 B(TestEqualStrict), R(11), U8(26), |
| 1643 B(JumpIfFalse), U8(4), |
| 1644 B(Jump), U8(18), |
| 1645 B(Wide), B(LdaSmi), I16(130), |
| 1646 B(Star), R(11), |
| 1647 B(LdaConstant), U8(11), |
| 1648 B(Star), R(12), |
| 1649 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), |
| 1650 B(Throw), |
| 1651 B(Mov), R(context), R(11), |
| 1652 B(LdaCurrentContextSlot), U8(11), |
| 1653 B(Star), R(12), |
| 1654 B(LdaCurrentContextSlot), U8(7), |
| 1655 B(Star), R(13), |
| 1656 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), |
| 1657 B(Jump), U8(20), |
| 1658 B(Star), R(12), |
| 1659 B(Ldar), R(closure), |
| 1660 B(CreateCatchContext), R(12), U8(7), U8(12), |
| 1661 B(Star), R(11), |
| 1662 B(LdaTheHole), |
| 1663 B(SetPendingMessage), |
| 1664 B(Ldar), R(11), |
| 1665 B(PushContext), R(1), |
| 1666 B(PopContext), R(1), |
| 1667 B(Jump), U8(37), |
| 1668 B(LdaCurrentContextSlot), U8(11), |
| 1669 B(Star), R(11), |
| 1670 B(LdaCurrentContextSlot), U8(7), |
| 1671 B(Star), R(12), |
| 1672 B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), |
| 1673 B(StaCurrentContextSlot), U8(12), |
| 1674 B(LdaCurrentContextSlot), U8(12), |
| 1675 B(Star), R(11), |
| 1676 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), |
| 1677 B(JumpIfToBooleanFalse), U8(4), |
| 1678 B(Jump), U8(11), |
| 1679 B(LdaCurrentContextSlot), U8(12), |
| 1680 B(Star), R(11), |
| 1681 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R
(11), U8(1), |
| 1682 B(Ldar), R(10), |
| 1683 B(SetPendingMessage), |
| 1684 B(LdaZero), |
| 1685 B(TestEqualStrict), R(8), U8(0), |
| 1686 B(JumpIfTrue), U8(11), |
| 1687 B(LdaSmi), I8(1), |
| 1688 B(TestEqualStrict), R(8), U8(0), |
| 1689 B(JumpIfTrue), U8(12), |
| 1690 B(Jump), U8(13), |
| 1691 B(LdaZero), |
| 1692 B(Star), R(4), |
| 1693 B(Mov), R(9), R(5), |
| 1694 B(Jump), U8(95), |
| 1695 B(Ldar), R(9), |
| 1696 B(ReThrow), |
| 1697 B(LdaUndefined), |
| 1698 B(Star), R(8), |
| 1699 B(LdaCurrentContextSlot), U8(13), |
| 1700 B(Star), R(9), |
| 1701 B(LdaUndefined), |
| 1702 B(Star), R(10), |
| 1703 B(CallJSRuntime), U8(%promise_resolve), R(8), U8(3), |
| 1704 B(LdaCurrentContextSlot), U8(13), |
| 1705 B(Star), R(5), |
| 1706 B(LdaSmi), I8(1), |
| 1707 B(Star), R(4), |
| 1708 B(Jump), U8(68), |
| 1709 B(Jump), U8(54), |
| 1710 B(Star), R(8), |
| 1711 B(Ldar), R(closure), |
| 1712 B(CreateCatchContext), R(8), U8(7), U8(13), |
| 1713 B(Star), R(7), |
| 1714 B(LdaTheHole), |
| 1715 B(SetPendingMessage), |
| 1716 B(Ldar), R(7), |
| 1717 B(PushContext), R(1), |
| 1718 B(LdaUndefined), |
| 1719 B(Star), R(8), |
| 1720 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 1721 B(Star), R(9), |
| 1722 B(LdaImmutableCurrentContextSlot), U8(4), |
| 1723 B(Star), R(10), |
| 1724 B(LdaFalse), |
| 1725 B(Star), R(11), |
| 1726 B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4), |
| 1727 B(LdaContextSlot), R(1), U8(13), U8(0), |
| 1728 B(PopContext), R(1), |
| 1729 B(PopContext), R(1), |
| 1730 B(Star), R(5), |
| 1731 B(LdaSmi), I8(2), |
| 1732 B(Star), R(4), |
| 1733 B(Jump), U8(14), |
| 1734 B(LdaSmi), I8(-1), |
| 1735 B(Star), R(4), |
| 1736 B(Jump), U8(8), |
| 1737 B(Star), R(5), |
| 1738 B(LdaSmi), I8(3), |
| 1739 B(Star), R(4), |
| 1740 B(LdaTheHole), |
| 1741 B(SetPendingMessage), |
| 1742 B(Star), R(6), |
| 1743 B(LdaUndefined), |
| 1744 B(Star), R(7), |
| 1745 B(LdaCurrentContextSlot), U8(13), |
| 1746 B(Star), R(8), |
| 1747 B(CallJSRuntime), U8(%async_function_promise_release), R(7), U8(
2), |
| 1748 B(Ldar), R(6), |
| 1749 B(SetPendingMessage), |
| 1750 B(LdaZero), |
| 1751 B(TestEqualStrict), R(4), U8(0), |
| 1752 B(JumpIfTrue), U8(25), |
| 1753 B(LdaSmi), I8(1), |
| 1754 B(TestEqualStrict), R(4), U8(0), |
| 1755 B(JumpIfTrue), U8(35), |
| 1756 B(LdaSmi), I8(2), |
| 1757 B(TestEqualStrict), R(4), U8(0), |
| 1758 B(JumpIfTrue), U8(31), |
| 1759 B(LdaSmi), I8(3), |
| 1760 B(TestEqualStrict), R(4), U8(0), |
| 1761 B(JumpIfTrue), U8(27), |
| 1762 B(Jump), U8(28), |
| 1763 B(LdaCurrentContextSlot), U8(13), |
| 1764 B(Star), R(8), |
| 1765 B(LdaUndefined), |
| 1766 B(Star), R(7), |
| 1767 B(Mov), R(5), R(9), |
| 1768 B(CallJSRuntime), U8(%promise_resolve), R(7), U8(3), |
| 1769 B(Ldar), R(8), |
| 1770 /* 96 S> */ B(Return), |
| 1771 B(Ldar), R(5), |
| 1772 /* 96 S> */ B(Return), |
| 1773 B(Ldar), R(5), |
| 1774 /* 96 S> */ B(Return), |
| 1775 B(Ldar), R(5), |
| 1776 B(ReThrow), |
| 1777 B(LdaUndefined), |
| 1778 /* 96 S> */ B(Return), |
| 1779 ] |
| 1780 constant pool: [ |
| 1781 FIXED_ARRAY_TYPE, |
| 1782 CONSTANT_ELEMENTS_PAIR_TYPE, |
| 1783 SYMBOL_TYPE, |
| 1784 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], |
| 1785 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], |
| 1786 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], |
| 1787 ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], |
| 1788 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
| 1789 FIXED_ARRAY_TYPE, |
| 1790 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], |
| 1791 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], |
| 1792 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
| 1793 FIXED_ARRAY_TYPE, |
| 1794 FIXED_ARRAY_TYPE, |
| 1795 ] |
| 1796 handlers: [ |
| 1797 [63, 509, 515], |
| 1798 [66, 455, 457], |
| 1799 [81, 243, 249], |
| 1800 [84, 195, 197], |
| 1801 [333, 345, 347], |
| 1802 ] |
| 1803 |
OLD | NEW |