OLD | NEW |
1 # | 1 # |
2 # Autogenerated by generate-bytecode-expectations. | 2 # Autogenerated by generate-bytecode-expectations. |
3 # | 3 # |
4 | 4 |
5 --- | 5 --- |
6 wrap: no | 6 wrap: no |
7 test function name: f | 7 test function name: f |
8 | 8 |
9 --- | 9 --- |
10 snippet: " | 10 snippet: " |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 handlers: [ | 264 handlers: [ |
265 ] | 265 ] |
266 | 266 |
267 --- | 267 --- |
268 snippet: " | 268 snippet: " |
269 function* f() { | 269 function* f() { |
270 for (let x = 0; x < 10; ++x) { let y = x; } | 270 for (let x = 0; x < 10; ++x) { let y = x; } |
271 } | 271 } |
272 f(); | 272 f(); |
273 " | 273 " |
274 frame size: 14 | 274 frame size: 17 |
275 parameter count: 1 | 275 parameter count: 1 |
276 bytecode array length: 331 | 276 bytecode array length: 243 |
277 bytecodes: [ | 277 bytecodes: [ |
278 B(Ldar), R(new_target), | 278 B(Ldar), R(new_target), |
279 B(JumpIfUndefined), U8(25), | 279 B(JumpIfUndefined), U8(25), |
280 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta
rget), U8(1), | 280 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta
rget), U8(1), |
281 B(PushContext), R(5), | 281 B(PushContext), R(8), |
282 B(ResumeGenerator), R(new_target), | 282 B(ResumeGenerator), R(new_target), |
283 B(Star), R(4), | 283 B(Star), R(7), |
284 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), | 284 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), |
285 B(LdaSmi), I8(79), | 285 B(LdaSmi), I8(79), |
286 B(Star), R(6), | 286 B(Star), R(9), |
287 B(CallRuntime), U16(Runtime::kAbort), R(6), U8(1), | 287 B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1), |
288 B(LdaSmi), I8(-2), | 288 B(LdaSmi), I8(-2), |
289 B(Star), R(4), | 289 B(Star), R(7), |
290 B(CreateFunctionContext), U8(4), | 290 B(Mov), R(closure), R(9), |
291 B(PushContext), R(0), | 291 B(Mov), R(this), R(10), |
292 B(Mov), R(closure), R(6), | 292 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(9)
, U8(2), |
293 B(Mov), R(this), R(7), | 293 B(Star), R(3), |
294 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(6)
, U8(2), | |
295 B(StaCurrentContextSlot), U8(4), | |
296 /* 11 E> */ B(StackCheck), | 294 /* 11 E> */ B(StackCheck), |
297 B(Mov), R(context), R(8), | 295 B(Mov), R(context), R(11), |
298 B(LdaImmutableCurrentContextSlot), U8(4), | 296 B(LdaZero), |
299 B(Star), R(9), | 297 B(Mov), R(3), R(13), |
300 B(LdaImmutableCurrentContextSlot), U8(4), | 298 B(Mov), R(3), R(12), |
| 299 /* 11 E> */ B(SuspendGenerator), R(12), U8(0), |
| 300 B(Ldar), R(13), |
| 301 /* 62 S> */ B(Return), |
| 302 B(LdaSmi), I8(-2), |
| 303 B(Star), R(7), |
| 304 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos),
R(12), U8(1), |
| 305 B(Star), R(13), |
| 306 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12)
, U8(1), |
| 307 B(Star), R(14), |
| 308 B(LdaZero), |
| 309 B(TestEqualStrictNoFeedback), R(14), |
| 310 B(JumpIfTrue), U8(28), |
| 311 B(LdaSmi), I8(2), |
| 312 B(TestEqualStrictNoFeedback), R(14), |
| 313 B(JumpIfTrue), U8(19), |
| 314 B(LdaTrue), |
| 315 B(Star), R(16), |
| 316 B(Mov), R(13), R(15), |
| 317 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15)
, U8(2), |
301 B(Star), R(10), | 318 B(Star), R(10), |
302 B(LdaZero), | 319 B(LdaZero), |
303 /* 11 E> */ B(SuspendGenerator), R(9), U8(0), | 320 B(Star), R(9), |
| 321 B(Jump), U8(114), |
| 322 B(Ldar), R(13), |
| 323 /* 11 E> */ B(Throw), |
| 324 /* 31 S> */ B(LdaZero), |
| 325 B(Star), R(2), |
| 326 B(Star), R(4), |
| 327 B(LdaSmi), I8(1), |
| 328 B(Star), R(5), |
| 329 /* 60 E> */ B(StackCheck), |
| 330 B(Mov), R(4), R(1), |
| 331 B(LdaSmi), I8(1), |
| 332 B(TestEqual), R(5), U8(3), |
| 333 B(JumpIfFalse), U8(7), |
| 334 B(LdaZero), |
| 335 B(Star), R(5), |
| 336 B(Jump), U8(8), |
| 337 /* 44 S> */ B(Ldar), R(1), |
| 338 B(Inc), U8(4), |
| 339 B(Star), R(1), |
| 340 B(LdaSmi), I8(1), |
| 341 B(Star), R(6), |
| 342 /* 36 S> */ B(LdaSmi), I8(10), |
| 343 /* 36 E> */ B(TestLessThan), R(1), U8(5), |
| 344 B(JumpIfFalse), U8(4), |
| 345 B(Jump), U8(4), |
| 346 B(Jump), U8(36), |
| 347 B(LdaSmi), I8(1), |
| 348 B(TestEqual), R(6), U8(6), |
| 349 B(JumpIfFalse), U8(17), |
| 350 /* 18 E> */ B(StackCheck), |
| 351 /* 57 S> */ B(Mov), R(1), R(0), |
| 352 B(LdaZero), |
| 353 B(Star), R(6), |
| 354 B(Mov), R(0), R(4), |
| 355 B(Ldar), R(0), |
| 356 B(JumpLoop), U8(19), I8(1), |
| 357 B(LdaSmi), I8(1), |
| 358 /* 60 E> */ B(TestEqual), R(6), U8(7), |
| 359 B(JumpIfFalse), U8(4), |
| 360 B(Jump), U8(5), |
| 361 B(JumpLoop), U8(68), I8(0), |
| 362 B(LdaUndefined), |
| 363 B(Star), R(12), |
| 364 B(LdaTrue), |
| 365 B(Star), R(13), |
| 366 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12)
, U8(2), |
| 367 B(Star), R(10), |
| 368 B(LdaZero), |
| 369 B(Star), R(9), |
| 370 B(Jump), U8(14), |
| 371 B(LdaSmi), I8(-1), |
| 372 B(Star), R(9), |
| 373 B(Jump), U8(8), |
| 374 B(Star), R(10), |
| 375 B(LdaSmi), I8(1), |
| 376 B(Star), R(9), |
| 377 B(LdaTheHole), |
| 378 B(SetPendingMessage), |
| 379 B(Star), R(11), |
| 380 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(3), U8(1), |
| 381 B(Ldar), R(11), |
| 382 B(SetPendingMessage), |
| 383 B(Ldar), R(9), |
| 384 B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0), |
| 385 B(Jump), U8(8), |
304 B(Ldar), R(10), | 386 B(Ldar), R(10), |
305 /* 62 S> */ B(Return), | 387 /* 62 S> */ B(Return), |
306 B(LdaSmi), I8(-2), | |
307 B(Star), R(4), | |
308 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos),
R(9), U8(1), | |
309 B(Star), R(10), | |
310 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9),
U8(1), | |
311 B(Star), R(11), | |
312 B(LdaZero), | |
313 B(TestEqualStrictNoFeedback), R(11), | |
314 B(JumpIfTrue), U8(28), | |
315 B(LdaSmi), I8(2), | |
316 B(TestEqualStrictNoFeedback), R(11), | |
317 B(JumpIfTrue), U8(19), | |
318 B(LdaTrue), | |
319 B(Star), R(13), | |
320 B(Mov), R(10), R(12), | |
321 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12)
, U8(2), | |
322 B(Star), R(7), | |
323 B(LdaZero), | |
324 B(Star), R(6), | |
325 B(Jump), U8(192), | |
326 B(Ldar), R(10), | 388 B(Ldar), R(10), |
327 /* 11 E> */ B(Throw), | |
328 B(Ldar), R(closure), | |
329 B(CreateBlockContext), U8(1), | |
330 B(PushContext), R(1), | |
331 B(LdaTheHole), | |
332 B(StaCurrentContextSlot), U8(4), | |
333 /* 31 S> */ B(LdaZero), | |
334 /* 31 E> */ B(StaCurrentContextSlot), U8(4), | |
335 B(LdaImmutableCurrentContextSlot), U8(4), | |
336 /* 60 E> */ B(StaContextSlot), R(1), U8(5), U8(0), | |
337 B(LdaSmi), I8(1), | |
338 B(StaContextSlot), R(1), U8(6), U8(0), | |
339 B(StackCheck), | |
340 B(Ldar), R(closure), | |
341 B(CreateBlockContext), U8(2), | |
342 B(PushContext), R(2), | |
343 B(LdaTheHole), | |
344 B(StaCurrentContextSlot), U8(4), | |
345 B(LdaContextSlot), R(1), U8(5), U8(0), | |
346 B(StaCurrentContextSlot), U8(4), | |
347 B(LdaContextSlot), R(1), U8(6), U8(0), | |
348 B(Star), R(9), | |
349 B(LdaSmi), I8(1), | |
350 B(TestEqual), R(9), U8(3), | |
351 B(JumpIfFalse), U8(9), | |
352 B(LdaZero), | |
353 B(StaContextSlot), R(1), U8(6), U8(0), | |
354 B(Jump), U8(8), | |
355 /* 44 S> */ B(LdaCurrentContextSlot), U8(4), | |
356 B(Inc), U8(4), | |
357 /* 44 E> */ B(StaCurrentContextSlot), U8(4), | |
358 B(LdaSmi), I8(1), | |
359 B(StaContextSlot), R(1), U8(7), U8(0), | |
360 /* 36 S> */ B(LdaCurrentContextSlot), U8(4), | |
361 B(Star), R(9), | |
362 B(LdaSmi), I8(10), | |
363 /* 36 E> */ B(TestLessThan), R(9), U8(5), | |
364 B(JumpIfFalse), U8(4), | |
365 B(Jump), U8(6), | |
366 B(PopContext), R(2), | |
367 B(Jump), U8(69), | |
368 B(LdaContextSlot), R(1), U8(7), U8(0), | |
369 B(Star), R(9), | |
370 B(LdaSmi), I8(1), | |
371 B(TestEqual), R(9), U8(6), | |
372 B(JumpIfFalse), U8(34), | |
373 /* 18 E> */ B(StackCheck), | |
374 B(Ldar), R(closure), | |
375 B(CreateBlockContext), U8(3), | |
376 B(PushContext), R(3), | |
377 B(LdaTheHole), | |
378 B(StaCurrentContextSlot), U8(4), | |
379 /* 57 S> */ B(LdaContextSlot), R(3), U8(4), U8(0), | |
380 /* 57 E> */ B(StaCurrentContextSlot), U8(4), | |
381 B(PopContext), R(3), | |
382 B(LdaZero), | |
383 B(StaContextSlot), R(1), U8(7), U8(0), | |
384 B(LdaCurrentContextSlot), U8(4), | |
385 /* 60 E> */ B(StaContextSlot), R(1), U8(5), U8(0), | |
386 B(JumpLoop), U8(42), I8(1), | |
387 B(LdaContextSlot), R(1), U8(7), U8(0), | |
388 B(Star), R(9), | |
389 B(LdaSmi), I8(1), | |
390 B(TestEqual), R(9), U8(7), | |
391 B(JumpIfFalse), U8(6), | |
392 B(PopContext), R(2), | |
393 B(Jump), U8(7), | |
394 B(PopContext), R(2), | |
395 B(JumpLoop), U8(129), I8(0), | |
396 B(PopContext), R(1), | |
397 B(LdaUndefined), | |
398 B(Star), R(9), | |
399 B(LdaTrue), | |
400 B(Star), R(10), | |
401 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9),
U8(2), | |
402 B(Star), R(7), | |
403 B(LdaZero), | |
404 B(Star), R(6), | |
405 B(Jump), U8(14), | |
406 B(LdaSmi), I8(-1), | |
407 B(Star), R(6), | |
408 B(Jump), U8(8), | |
409 B(Star), R(7), | |
410 B(LdaSmi), I8(1), | |
411 B(Star), R(6), | |
412 B(LdaTheHole), | |
413 B(SetPendingMessage), | |
414 B(Star), R(8), | |
415 B(LdaImmutableCurrentContextSlot), U8(4), | |
416 B(Star), R(9), | |
417 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(9), U8(1), | |
418 B(Ldar), R(8), | |
419 B(SetPendingMessage), | |
420 B(Ldar), R(6), | |
421 B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0), | |
422 B(Jump), U8(8), | |
423 B(Ldar), R(7), | |
424 /* 62 S> */ B(Return), | |
425 B(Ldar), R(7), | |
426 B(ReThrow), | 389 B(ReThrow), |
427 B(LdaUndefined), | 390 B(LdaUndefined), |
428 /* 62 S> */ B(Return), | 391 /* 62 S> */ B(Return), |
429 ] | 392 ] |
430 constant pool: [ | 393 constant pool: [ |
431 Smi [52], | 394 Smi [46], |
432 FIXED_ARRAY_TYPE, | |
433 FIXED_ARRAY_TYPE, | |
434 FIXED_ARRAY_TYPE, | |
435 Smi [6], | 395 Smi [6], |
436 Smi [9], | 396 Smi [9], |
437 ] | 397 ] |
438 handlers: [ | 398 handlers: [ |
439 [51, 288, 294], | 399 [47, 204, 210], |
440 ] | 400 ] |
441 | 401 |
442 --- | 402 --- |
443 snippet: " | 403 snippet: " |
444 function* f() { | 404 function* f() { |
445 for (let x = 0; x < 10; ++x) yield x; | 405 for (let x = 0; x < 10; ++x) yield x; |
446 } | 406 } |
447 f(); | 407 f(); |
448 " | 408 " |
449 frame size: 13 | 409 frame size: 16 |
450 parameter count: 1 | 410 parameter count: 1 |
451 bytecode array length: 432 | 411 bytecode array length: 352 |
452 bytecodes: [ | 412 bytecodes: [ |
453 B(Ldar), R(new_target), | 413 B(Ldar), R(new_target), |
454 B(JumpIfUndefined), U8(25), | 414 B(JumpIfUndefined), U8(25), |
455 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta
rget), U8(1), | 415 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta
rget), U8(1), |
456 B(PushContext), R(4), | 416 B(PushContext), R(7), |
457 B(ResumeGenerator), R(new_target), | 417 B(ResumeGenerator), R(new_target), |
458 B(Star), R(3), | 418 B(Star), R(6), |
459 B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), | 419 B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), |
460 B(LdaSmi), I8(79), | 420 B(LdaSmi), I8(79), |
461 B(Star), R(5), | |
462 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), | |
463 B(LdaSmi), I8(-2), | |
464 B(Star), R(3), | |
465 B(CreateFunctionContext), U8(4), | |
466 B(PushContext), R(0), | |
467 B(Mov), R(closure), R(5), | |
468 B(Mov), R(this), R(6), | |
469 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5)
, U8(2), | |
470 B(StaCurrentContextSlot), U8(4), | |
471 /* 11 E> */ B(StackCheck), | |
472 B(Mov), R(context), R(7), | |
473 B(LdaImmutableCurrentContextSlot), U8(4), | |
474 B(Star), R(8), | |
475 B(LdaImmutableCurrentContextSlot), U8(4), | |
476 B(Star), R(9), | |
477 B(LdaZero), | |
478 /* 11 E> */ B(SuspendGenerator), R(8), U8(0), | |
479 B(Ldar), R(9), | |
480 /* 56 S> */ B(Return), | |
481 B(LdaSmi), I8(-2), | |
482 B(Star), R(3), | |
483 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos),
R(8), U8(1), | |
484 B(Star), R(9), | |
485 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8),
U8(1), | |
486 B(Star), R(10), | |
487 B(LdaZero), | |
488 B(TestEqualStrictNoFeedback), R(10), | |
489 B(JumpIfTrue), U8(28), | |
490 B(LdaSmi), I8(2), | |
491 B(TestEqualStrictNoFeedback), R(10), | |
492 B(JumpIfTrue), U8(19), | |
493 B(LdaTrue), | |
494 B(Star), R(12), | |
495 B(Mov), R(9), R(11), | |
496 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11)
, U8(2), | |
497 B(Star), R(6), | |
498 B(LdaZero), | |
499 B(Star), R(5), | |
500 B(JumpConstant), U8(6), | |
501 B(Ldar), R(9), | |
502 /* 11 E> */ B(Throw), | |
503 B(Ldar), R(closure), | |
504 B(CreateBlockContext), U8(2), | |
505 B(PushContext), R(1), | |
506 B(LdaTheHole), | |
507 B(StaCurrentContextSlot), U8(4), | |
508 /* 31 S> */ B(LdaZero), | |
509 /* 31 E> */ B(StaCurrentContextSlot), U8(4), | |
510 B(LdaImmutableCurrentContextSlot), U8(4), | |
511 /* 54 E> */ B(StaContextSlot), R(1), U8(5), U8(0), | |
512 B(LdaSmi), I8(1), | |
513 B(StaContextSlot), R(1), U8(6), U8(0), | |
514 B(Ldar), R(3), | |
515 B(SwitchOnSmiNoFeedback), U8(3), U8(1), I8(1), | |
516 B(LdaSmi), I8(-2), | |
517 B(TestEqualStrictNoFeedback), R(3), | |
518 B(JumpIfTrue), U8(11), | |
519 B(LdaSmi), I8(79), | |
520 B(Star), R(8), | 421 B(Star), R(8), |
521 B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1), | 422 B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1), |
522 B(StackCheck), | 423 B(LdaSmi), I8(-2), |
523 B(Ldar), R(closure), | 424 B(Star), R(6), |
524 B(CreateBlockContext), U8(4), | 425 B(Mov), R(closure), R(8), |
525 B(PushContext), R(2), | 426 B(Mov), R(this), R(9), |
526 B(LdaTheHole), | 427 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(8)
, U8(2), |
527 B(StaCurrentContextSlot), U8(4), | 428 B(Star), R(2), |
528 B(LdaContextSlot), R(1), U8(5), U8(0), | 429 /* 11 E> */ B(StackCheck), |
529 B(StaCurrentContextSlot), U8(4), | 430 B(Mov), R(context), R(10), |
530 B(LdaContextSlot), R(1), U8(6), U8(0), | 431 B(LdaZero), |
| 432 B(Mov), R(2), R(12), |
| 433 B(Mov), R(2), R(11), |
| 434 /* 11 E> */ B(SuspendGenerator), R(11), U8(0), |
| 435 B(Ldar), R(12), |
| 436 /* 56 S> */ B(Return), |
| 437 B(LdaSmi), I8(-2), |
| 438 B(Star), R(6), |
| 439 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos),
R(11), U8(1), |
| 440 B(Star), R(12), |
| 441 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11)
, U8(1), |
| 442 B(Star), R(13), |
| 443 B(LdaZero), |
| 444 B(TestEqualStrictNoFeedback), R(13), |
| 445 B(JumpIfTrue), U8(28), |
| 446 B(LdaSmi), I8(2), |
| 447 B(TestEqualStrictNoFeedback), R(13), |
| 448 B(JumpIfTrue), U8(19), |
| 449 B(LdaTrue), |
| 450 B(Star), R(15), |
| 451 B(Mov), R(12), R(14), |
| 452 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(14)
, U8(2), |
| 453 B(Star), R(9), |
| 454 B(LdaZero), |
531 B(Star), R(8), | 455 B(Star), R(8), |
| 456 B(Jump), U8(223), |
| 457 B(Ldar), R(12), |
| 458 /* 11 E> */ B(Throw), |
| 459 /* 31 S> */ B(LdaZero), |
| 460 B(Star), R(1), |
| 461 B(Star), R(3), |
532 B(LdaSmi), I8(1), | 462 B(LdaSmi), I8(1), |
533 B(TestEqual), R(8), U8(3), | 463 B(Star), R(4), |
534 B(JumpIfFalse), U8(9), | 464 B(Ldar), R(6), |
535 B(LdaZero), | 465 B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(1), |
536 B(StaContextSlot), R(1), U8(6), U8(0), | |
537 B(Jump), U8(8), | |
538 /* 44 S> */ B(LdaCurrentContextSlot), U8(4), | |
539 B(Inc), U8(4), | |
540 /* 44 E> */ B(StaCurrentContextSlot), U8(4), | |
541 B(LdaSmi), I8(1), | |
542 B(StaContextSlot), R(1), U8(7), U8(0), | |
543 /* 36 S> */ B(LdaCurrentContextSlot), U8(4), | |
544 B(Star), R(8), | |
545 B(LdaSmi), I8(10), | |
546 /* 36 E> */ B(TestLessThan), R(8), U8(5), | |
547 B(JumpIfFalse), U8(4), | |
548 B(Jump), U8(6), | |
549 B(PopContext), R(2), | |
550 B(Jump), U8(149), | |
551 B(Ldar), R(3), | |
552 B(SwitchOnSmiNoFeedback), U8(5), U8(1), I8(1), | |
553 B(LdaSmi), I8(-2), | 466 B(LdaSmi), I8(-2), |
554 B(TestEqualStrictNoFeedback), R(3), | 467 /* 54 E> */ B(TestEqualStrictNoFeedback), R(6), |
555 B(JumpIfTrue), U8(11), | 468 B(JumpIfTrue), U8(11), |
556 B(LdaSmi), I8(79), | 469 B(LdaSmi), I8(79), |
| 470 B(Star), R(11), |
| 471 B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1), |
| 472 B(StackCheck), |
| 473 B(Mov), R(3), R(0), |
| 474 B(LdaSmi), I8(1), |
| 475 B(TestEqual), R(4), U8(3), |
| 476 B(JumpIfFalse), U8(7), |
| 477 B(LdaZero), |
| 478 B(Star), R(4), |
| 479 B(Jump), U8(8), |
| 480 /* 44 S> */ B(Ldar), R(0), |
| 481 B(Inc), U8(4), |
| 482 B(Star), R(0), |
| 483 B(LdaSmi), I8(1), |
| 484 B(Star), R(5), |
| 485 /* 36 S> */ B(LdaSmi), I8(10), |
| 486 /* 36 E> */ B(TestLessThan), R(0), U8(5), |
| 487 B(JumpIfFalse), U8(4), |
| 488 B(Jump), U8(4), |
| 489 B(Jump), U8(124), |
| 490 B(Ldar), R(6), |
| 491 B(SwitchOnSmiNoFeedback), U8(3), U8(1), I8(1), |
| 492 B(LdaSmi), I8(-2), |
| 493 B(TestEqualStrictNoFeedback), R(6), |
| 494 B(JumpIfTrue), U8(11), |
| 495 B(LdaSmi), I8(79), |
| 496 B(Star), R(11), |
| 497 B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1), |
| 498 B(LdaSmi), I8(1), |
| 499 B(TestEqual), R(5), U8(6), |
| 500 B(JumpIfFalse), U8(84), |
| 501 /* 18 E> */ B(StackCheck), |
| 502 /* 47 S> */ B(LdaFalse), |
| 503 B(Star), R(13), |
| 504 B(Mov), R(0), R(12), |
| 505 /* 53 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12)
, U8(2), |
| 506 B(Star), R(12), |
| 507 B(LdaSmi), I8(1), |
| 508 B(Mov), R(2), R(11), |
| 509 B(SuspendGenerator), R(11), U8(0), |
| 510 B(Ldar), R(12), |
| 511 /* 56 S> */ B(Return), |
| 512 B(LdaSmi), I8(-2), |
| 513 B(Star), R(6), |
| 514 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos),
R(11), U8(1), |
| 515 B(Star), R(12), |
| 516 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11)
, U8(1), |
| 517 B(Star), R(13), |
| 518 B(LdaZero), |
| 519 B(TestEqualStrictNoFeedback), R(13), |
| 520 B(JumpIfTrue), U8(28), |
| 521 B(LdaSmi), I8(2), |
| 522 B(TestEqualStrictNoFeedback), R(13), |
| 523 B(JumpIfTrue), U8(19), |
| 524 B(LdaTrue), |
| 525 B(Star), R(15), |
| 526 B(Mov), R(12), R(14), |
| 527 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(14)
, U8(2), |
| 528 B(Star), R(9), |
| 529 B(LdaZero), |
557 B(Star), R(8), | 530 B(Star), R(8), |
558 B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1), | 531 B(Jump), U8(57), |
559 B(LdaContextSlot), R(1), U8(7), U8(0), | 532 B(Ldar), R(12), |
| 533 /* 47 E> */ B(Throw), |
| 534 B(LdaZero), |
| 535 B(Star), R(5), |
| 536 B(Mov), R(0), R(3), |
| 537 B(Ldar), R(0), |
| 538 B(JumpLoop), U8(107), I8(1), |
| 539 B(LdaSmi), I8(1), |
| 540 /* 54 E> */ B(TestEqual), R(5), U8(7), |
| 541 B(JumpIfFalse), U8(4), |
| 542 B(Jump), U8(5), |
| 543 B(JumpLoop), U8(177), I8(0), |
| 544 B(LdaUndefined), |
| 545 B(Star), R(11), |
| 546 B(LdaTrue), |
| 547 B(Star), R(12), |
| 548 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11)
, U8(2), |
| 549 B(Star), R(9), |
| 550 B(LdaZero), |
560 B(Star), R(8), | 551 B(Star), R(8), |
561 B(LdaSmi), I8(1), | 552 B(Jump), U8(14), |
562 B(TestEqual), R(8), U8(6), | 553 B(LdaSmi), I8(-1), |
563 B(JumpIfFalse), U8(93), | |
564 /* 18 E> */ B(StackCheck), | |
565 /* 47 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0), | |
566 B(Star), R(8), | 554 B(Star), R(8), |
567 B(LdaCurrentContextSlot), U8(4), | 555 B(Jump), U8(8), |
568 B(Star), R(9), | |
569 B(LdaFalse), | |
570 B(Star), R(10), | |
571 /* 53 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9),
U8(2), | |
572 B(Star), R(9), | 556 B(Star), R(9), |
573 B(LdaSmi), I8(1), | 557 B(LdaSmi), I8(1), |
574 B(SuspendGenerator), R(8), U8(0), | 558 B(Star), R(8), |
| 559 B(LdaTheHole), |
| 560 B(SetPendingMessage), |
| 561 B(Star), R(10), |
| 562 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(2), U8(1), |
| 563 B(Ldar), R(10), |
| 564 B(SetPendingMessage), |
| 565 B(Ldar), R(8), |
| 566 B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0), |
| 567 B(Jump), U8(8), |
575 B(Ldar), R(9), | 568 B(Ldar), R(9), |
576 /* 56 S> */ B(Return), | 569 /* 56 S> */ B(Return), |
577 B(LdaSmi), I8(-2), | |
578 B(Star), R(3), | |
579 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos),
R(8), U8(1), | |
580 B(Star), R(9), | |
581 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8),
U8(1), | |
582 B(Star), R(10), | |
583 B(LdaZero), | |
584 B(TestEqualStrictNoFeedback), R(10), | |
585 B(JumpIfTrue), U8(30), | |
586 B(LdaSmi), I8(2), | |
587 B(TestEqualStrictNoFeedback), R(10), | |
588 B(JumpIfTrue), U8(21), | |
589 B(LdaTrue), | |
590 B(Star), R(12), | |
591 B(Mov), R(9), R(11), | |
592 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11)
, U8(2), | |
593 B(PopContext), R(1), | |
594 B(Star), R(6), | |
595 B(LdaZero), | |
596 B(Star), R(5), | |
597 B(Jump), U8(72), | |
598 B(Ldar), R(9), | 570 B(Ldar), R(9), |
599 /* 47 E> */ B(Throw), | |
600 B(LdaZero), | |
601 B(StaContextSlot), R(1), U8(7), U8(0), | |
602 B(LdaCurrentContextSlot), U8(4), | |
603 /* 54 E> */ B(StaContextSlot), R(1), U8(5), U8(0), | |
604 B(JumpLoop), U8(122), I8(1), | |
605 B(LdaContextSlot), R(1), U8(7), U8(0), | |
606 B(Star), R(8), | |
607 B(LdaSmi), I8(1), | |
608 B(TestEqual), R(8), U8(7), | |
609 B(JumpIfFalse), U8(6), | |
610 B(PopContext), R(2), | |
611 B(Jump), U8(7), | |
612 B(PopContext), R(2), | |
613 B(JumpLoop), U8(230), I8(0), | |
614 B(PopContext), R(1), | |
615 B(LdaUndefined), | |
616 B(Star), R(8), | |
617 B(LdaTrue), | |
618 B(Star), R(9), | |
619 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8),
U8(2), | |
620 B(Star), R(6), | |
621 B(LdaZero), | |
622 B(Star), R(5), | |
623 B(Jump), U8(14), | |
624 B(LdaSmi), I8(-1), | |
625 B(Star), R(5), | |
626 B(Jump), U8(8), | |
627 B(Star), R(6), | |
628 B(LdaSmi), I8(1), | |
629 B(Star), R(5), | |
630 B(LdaTheHole), | |
631 B(SetPendingMessage), | |
632 B(Star), R(7), | |
633 B(LdaImmutableCurrentContextSlot), U8(4), | |
634 B(Star), R(8), | |
635 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(8), U8(1), | |
636 B(Ldar), R(7), | |
637 B(SetPendingMessage), | |
638 B(Ldar), R(5), | |
639 B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0), | |
640 B(Jump), U8(8), | |
641 B(Ldar), R(6), | |
642 /* 56 S> */ B(Return), | |
643 B(Ldar), R(6), | |
644 B(ReThrow), | 571 B(ReThrow), |
645 B(LdaUndefined), | 572 B(LdaUndefined), |
646 /* 56 S> */ B(Return), | 573 /* 56 S> */ B(Return), |
647 ] | 574 ] |
648 constant pool: [ | 575 constant pool: [ |
649 Smi [52], | 576 Smi [46], |
650 Smi [123], | 577 Smi [102], |
651 FIXED_ARRAY_TYPE, | 578 Smi [56], |
652 Smi [84], | 579 Smi [50], |
653 FIXED_ARRAY_TYPE, | |
654 Smi [60], | |
655 Smi [293], | |
656 Smi [6], | 580 Smi [6], |
657 Smi [9], | 581 Smi [9], |
658 ] | 582 ] |
659 handlers: [ | 583 handlers: [ |
660 [51, 389, 395], | 584 [47, 313, 319], |
661 ] | 585 ] |
662 | 586 |
663 --- | 587 --- |
664 snippet: " | 588 snippet: " |
665 async function f() { | 589 async function f() { |
666 for (let x = 0; x < 10; ++x) { let y = x; } | 590 for (let x = 0; x < 10; ++x) { let y = x; } |
667 } | 591 } |
668 f(); | 592 f(); |
669 " | 593 " |
670 frame size: 12 | 594 frame size: 17 |
671 parameter count: 1 | 595 parameter count: 1 |
672 bytecode array length: 298 | 596 bytecode array length: 207 |
673 bytecodes: [ | 597 bytecodes: [ |
674 B(CreateFunctionContext), U8(5), | |
675 B(PushContext), R(0), | |
676 /* 16 E> */ B(StackCheck), | 598 /* 16 E> */ B(StackCheck), |
677 B(LdaUndefined), | 599 B(LdaUndefined), |
| 600 B(Star), R(9), |
| 601 B(CallJSRuntime), U8(%async_function_promise_create), R(9), U8(1
), |
| 602 B(Star), R(7), |
| 603 B(Mov), R(context), R(11), |
| 604 B(Mov), R(context), R(12), |
| 605 /* 36 S> */ B(LdaZero), |
| 606 B(Star), R(2), |
678 B(Star), R(4), | 607 B(Star), R(4), |
679 B(CallJSRuntime), U8(%async_function_promise_create), R(4), U8(1
), | 608 B(LdaSmi), I8(1), |
680 B(StaCurrentContextSlot), U8(8), | 609 B(Star), R(5), |
681 B(Mov), R(context), R(6), | 610 /* 65 E> */ B(StackCheck), |
682 B(Mov), R(context), R(7), | 611 B(Mov), R(4), R(1), |
| 612 B(LdaSmi), I8(1), |
| 613 B(TestEqual), R(5), U8(3), |
| 614 B(JumpIfFalse), U8(7), |
| 615 B(LdaZero), |
| 616 B(Star), R(5), |
| 617 B(Jump), U8(8), |
| 618 /* 49 S> */ B(Ldar), R(1), |
| 619 B(Inc), U8(4), |
| 620 B(Star), R(1), |
| 621 B(LdaSmi), I8(1), |
| 622 B(Star), R(6), |
| 623 /* 41 S> */ B(LdaSmi), I8(10), |
| 624 /* 41 E> */ B(TestLessThan), R(1), U8(5), |
| 625 B(JumpIfFalse), U8(4), |
| 626 B(Jump), U8(4), |
| 627 B(Jump), U8(36), |
| 628 B(LdaSmi), I8(1), |
| 629 B(TestEqual), R(6), U8(6), |
| 630 B(JumpIfFalse), U8(17), |
| 631 /* 23 E> */ B(StackCheck), |
| 632 /* 62 S> */ B(Mov), R(1), R(0), |
| 633 B(LdaZero), |
| 634 B(Star), R(6), |
| 635 B(Mov), R(0), R(4), |
| 636 B(Ldar), R(0), |
| 637 B(JumpLoop), U8(19), I8(1), |
| 638 B(LdaSmi), I8(1), |
| 639 /* 65 E> */ B(TestEqual), R(6), U8(7), |
| 640 B(JumpIfFalse), U8(4), |
| 641 B(Jump), U8(5), |
| 642 B(JumpLoop), U8(68), I8(0), |
| 643 B(LdaUndefined), |
| 644 B(Star), R(13), |
| 645 B(LdaUndefined), |
| 646 B(Star), R(15), |
| 647 B(Mov), R(7), R(14), |
| 648 B(CallJSRuntime), U8(%promise_resolve), R(13), U8(3), |
| 649 B(LdaZero), |
| 650 B(Star), R(9), |
| 651 B(Mov), R(7), R(10), |
| 652 B(Jump), U8(59), |
| 653 B(Jump), U8(45), |
| 654 B(Star), R(13), |
683 B(Ldar), R(closure), | 655 B(Ldar), R(closure), |
684 B(CreateBlockContext), U8(0), | 656 B(CreateCatchContext), R(13), U8(0), U8(1), |
685 B(PushContext), R(1), | 657 B(Star), R(12), |
686 B(LdaTheHole), | |
687 B(StaCurrentContextSlot), U8(4), | |
688 /* 36 S> */ B(LdaZero), | |
689 /* 36 E> */ B(StaCurrentContextSlot), U8(4), | |
690 B(LdaImmutableCurrentContextSlot), U8(4), | |
691 /* 65 E> */ B(StaContextSlot), R(1), U8(5), U8(0), | |
692 B(LdaSmi), I8(1), | |
693 B(StaContextSlot), R(1), U8(6), U8(0), | |
694 B(StackCheck), | |
695 B(Ldar), R(closure), | |
696 B(CreateBlockContext), U8(1), | |
697 B(PushContext), R(2), | |
698 B(LdaTheHole), | |
699 B(StaCurrentContextSlot), U8(4), | |
700 B(LdaContextSlot), R(1), U8(5), U8(0), | |
701 B(StaCurrentContextSlot), U8(4), | |
702 B(LdaContextSlot), R(1), U8(6), U8(0), | |
703 B(Star), R(8), | |
704 B(LdaSmi), I8(1), | |
705 B(TestEqual), R(8), U8(3), | |
706 B(JumpIfFalse), U8(9), | |
707 B(LdaZero), | |
708 B(StaContextSlot), R(1), U8(6), U8(0), | |
709 B(Jump), U8(8), | |
710 /* 49 S> */ B(LdaCurrentContextSlot), U8(4), | |
711 B(Inc), U8(4), | |
712 /* 49 E> */ B(StaCurrentContextSlot), U8(4), | |
713 B(LdaSmi), I8(1), | |
714 B(StaContextSlot), R(1), U8(7), U8(0), | |
715 /* 41 S> */ B(LdaCurrentContextSlot), U8(4), | |
716 B(Star), R(8), | |
717 B(LdaSmi), I8(10), | |
718 /* 41 E> */ B(TestLessThan), R(8), U8(5), | |
719 B(JumpIfFalse), U8(4), | |
720 B(Jump), U8(6), | |
721 B(PopContext), R(2), | |
722 B(Jump), U8(69), | |
723 B(LdaContextSlot), R(1), U8(7), U8(0), | |
724 B(Star), R(8), | |
725 B(LdaSmi), I8(1), | |
726 B(TestEqual), R(8), U8(6), | |
727 B(JumpIfFalse), U8(34), | |
728 /* 23 E> */ B(StackCheck), | |
729 B(Ldar), R(closure), | |
730 B(CreateBlockContext), U8(2), | |
731 B(PushContext), R(3), | |
732 B(LdaTheHole), | |
733 B(StaCurrentContextSlot), U8(4), | |
734 /* 62 S> */ B(LdaContextSlot), R(3), U8(4), U8(0), | |
735 /* 62 E> */ B(StaCurrentContextSlot), U8(4), | |
736 B(PopContext), R(3), | |
737 B(LdaZero), | |
738 B(StaContextSlot), R(1), U8(7), U8(0), | |
739 B(LdaCurrentContextSlot), U8(4), | |
740 /* 65 E> */ B(StaContextSlot), R(1), U8(5), U8(0), | |
741 B(JumpLoop), U8(42), I8(1), | |
742 B(LdaContextSlot), R(1), U8(7), U8(0), | |
743 B(Star), R(8), | |
744 B(LdaSmi), I8(1), | |
745 B(TestEqual), R(8), U8(7), | |
746 B(JumpIfFalse), U8(6), | |
747 B(PopContext), R(2), | |
748 B(Jump), U8(7), | |
749 B(PopContext), R(2), | |
750 B(JumpLoop), U8(129), I8(0), | |
751 B(PopContext), R(1), | |
752 B(LdaUndefined), | |
753 B(Star), R(8), | |
754 B(LdaCurrentContextSlot), U8(8), | |
755 B(Star), R(9), | |
756 B(LdaUndefined), | |
757 B(Star), R(10), | |
758 B(CallJSRuntime), U8(%promise_resolve), R(8), U8(3), | |
759 B(LdaCurrentContextSlot), U8(8), | |
760 B(Star), R(5), | |
761 B(LdaZero), | |
762 B(Star), R(4), | |
763 B(Jump), U8(65), | |
764 B(Jump), U8(51), | |
765 B(Star), R(8), | |
766 B(Ldar), R(closure), | |
767 B(CreateCatchContext), R(8), U8(3), U8(4), | |
768 B(Star), R(7), | |
769 B(LdaTheHole), | 658 B(LdaTheHole), |
770 B(SetPendingMessage), | 659 B(SetPendingMessage), |
771 B(Ldar), R(7), | 660 B(Ldar), R(12), |
772 B(PushContext), R(1), | 661 B(PushContext), R(8), |
773 B(LdaUndefined), | 662 B(LdaUndefined), |
774 B(Star), R(8), | 663 B(Star), R(13), |
775 B(LdaContextSlot), R(1), U8(8), U8(0), | 664 B(LdaImmutableCurrentContextSlot), U8(4), |
| 665 B(Star), R(15), |
| 666 B(LdaFalse), |
| 667 B(Star), R(16), |
| 668 B(Mov), R(7), R(14), |
| 669 B(CallJSRuntime), U8(%promise_internal_reject), R(13), U8(4), |
| 670 B(PopContext), R(8), |
| 671 B(LdaZero), |
776 B(Star), R(9), | 672 B(Star), R(9), |
777 B(LdaImmutableCurrentContextSlot), U8(4), | 673 B(Mov), R(7), R(10), |
778 B(Star), R(10), | |
779 B(LdaFalse), | |
780 B(Star), R(11), | |
781 B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4), | |
782 B(LdaContextSlot), R(1), U8(8), U8(0), | |
783 B(PopContext), R(1), | |
784 B(Star), R(5), | |
785 B(LdaZero), | |
786 B(Star), R(4), | |
787 B(Jump), U8(14), | 674 B(Jump), U8(14), |
788 B(LdaSmi), I8(-1), | 675 B(LdaSmi), I8(-1), |
789 B(Star), R(4), | 676 B(Star), R(9), |
790 B(Jump), U8(8), | 677 B(Jump), U8(8), |
791 B(Star), R(5), | 678 B(Star), R(10), |
792 B(LdaSmi), I8(1), | 679 B(LdaSmi), I8(1), |
793 B(Star), R(4), | 680 B(Star), R(9), |
794 B(LdaTheHole), | 681 B(LdaTheHole), |
795 B(SetPendingMessage), | 682 B(SetPendingMessage), |
796 B(Star), R(6), | 683 B(Star), R(11), |
797 B(LdaUndefined), | 684 B(LdaUndefined), |
798 B(Star), R(7), | 685 B(Star), R(12), |
799 B(LdaCurrentContextSlot), U8(8), | 686 B(Mov), R(7), R(13), |
800 B(Star), R(8), | 687 B(CallJSRuntime), U8(%async_function_promise_release), R(12), U8
(2), |
801 B(CallJSRuntime), U8(%async_function_promise_release), R(7), U8(
2), | 688 B(Ldar), R(11), |
802 B(Ldar), R(6), | |
803 B(SetPendingMessage), | 689 B(SetPendingMessage), |
804 B(Ldar), R(4), | 690 B(Ldar), R(9), |
805 B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0), | 691 B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), |
806 B(Jump), U8(8), | 692 B(Jump), U8(8), |
807 B(Ldar), R(5), | 693 B(Ldar), R(10), |
808 /* 67 S> */ B(Return), | 694 /* 67 S> */ B(Return), |
809 B(Ldar), R(5), | 695 B(Ldar), R(10), |
810 B(ReThrow), | 696 B(ReThrow), |
811 B(LdaUndefined), | 697 B(LdaUndefined), |
812 /* 67 S> */ B(Return), | 698 /* 67 S> */ B(Return), |
813 ] | 699 ] |
814 constant pool: [ | 700 constant pool: [ |
815 FIXED_ARRAY_TYPE, | |
816 FIXED_ARRAY_TYPE, | |
817 FIXED_ARRAY_TYPE, | |
818 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | 701 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
819 FIXED_ARRAY_TYPE, | 702 FIXED_ARRAY_TYPE, |
820 Smi [6], | 703 Smi [6], |
821 Smi [9], | 704 Smi [9], |
822 ] | 705 ] |
823 handlers: [ | 706 handlers: [ |
824 [17, 252, 258], | 707 [13, 162, 168], |
825 [20, 201, 203], | 708 [16, 117, 119], |
826 ] | 709 ] |
827 | 710 |
828 --- | 711 --- |
829 snippet: " | 712 snippet: " |
830 async function f() { | 713 async function f() { |
831 for (let x = 0; x < 10; ++x) await x; | 714 for (let x = 0; x < 10; ++x) await x; |
832 } | 715 } |
833 f(); | 716 f(); |
834 " | 717 " |
835 frame size: 14 | 718 frame size: 20 |
836 parameter count: 1 | 719 parameter count: 1 |
837 bytecode array length: 465 | 720 bytecode array length: 369 |
838 bytecodes: [ | 721 bytecodes: [ |
839 B(Ldar), R(new_target), | 722 B(Ldar), R(new_target), |
840 B(JumpIfUndefined), U8(25), | 723 B(JumpIfUndefined), U8(25), |
841 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta
rget), U8(1), | 724 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta
rget), U8(1), |
842 B(PushContext), R(4), | 725 B(PushContext), R(10), |
843 B(ResumeGenerator), R(new_target), | 726 B(ResumeGenerator), R(new_target), |
844 B(Star), R(3), | 727 B(Star), R(9), |
845 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), | 728 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), |
846 B(LdaSmi), I8(79), | 729 B(LdaSmi), I8(79), |
847 B(Star), R(5), | 730 B(Star), R(11), |
848 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), | 731 B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1), |
849 B(LdaSmi), I8(-2), | 732 B(LdaSmi), I8(-2), |
850 B(Star), R(3), | 733 B(Star), R(9), |
851 B(CreateFunctionContext), U8(6), | 734 B(Mov), R(closure), R(11), |
852 B(PushContext), R(0), | 735 B(Mov), R(this), R(12), |
853 B(Mov), R(closure), R(5), | 736 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(11
), U8(2), |
854 B(Mov), R(this), R(6), | 737 B(Star), R(2), |
855 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5)
, U8(2), | |
856 B(StaCurrentContextSlot), U8(4), | |
857 /* 16 E> */ B(StackCheck), | 738 /* 16 E> */ B(StackCheck), |
858 B(LdaUndefined), | 739 B(LdaUndefined), |
| 740 B(Star), R(11), |
| 741 B(CallJSRuntime), U8(%async_function_promise_create), R(11), U8(
1), |
| 742 B(Star), R(4), |
| 743 B(Mov), R(context), R(13), |
| 744 B(Mov), R(context), R(14), |
| 745 /* 36 S> */ B(LdaZero), |
| 746 B(Star), R(1), |
859 B(Star), R(5), | 747 B(Star), R(5), |
860 B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1
), | |
861 B(StaCurrentContextSlot), U8(6), | |
862 B(Mov), R(context), R(7), | |
863 B(Mov), R(context), R(8), | |
864 B(Ldar), R(closure), | |
865 B(CreateBlockContext), U8(1), | |
866 B(PushContext), R(1), | |
867 B(LdaTheHole), | |
868 B(StaCurrentContextSlot), U8(4), | |
869 /* 36 S> */ B(LdaZero), | |
870 /* 36 E> */ B(StaCurrentContextSlot), U8(4), | |
871 B(LdaImmutableCurrentContextSlot), U8(4), | |
872 /* 59 E> */ B(StaContextSlot), R(1), U8(7), U8(0), | |
873 B(LdaSmi), I8(1), | 748 B(LdaSmi), I8(1), |
874 B(StaContextSlot), R(1), U8(8), U8(0), | 749 B(Star), R(6), |
875 B(Ldar), R(3), | 750 B(Ldar), R(9), |
| 751 B(SwitchOnSmiNoFeedback), U8(1), U8(1), I8(0), |
| 752 B(LdaSmi), I8(-2), |
| 753 /* 59 E> */ B(TestEqualStrictNoFeedback), R(9), |
| 754 B(JumpIfTrue), U8(11), |
| 755 B(LdaSmi), I8(79), |
| 756 B(Star), R(15), |
| 757 B(CallRuntime), U16(Runtime::kAbort), R(15), U8(1), |
| 758 B(StackCheck), |
| 759 B(Mov), R(5), R(0), |
| 760 B(LdaSmi), I8(1), |
| 761 B(TestEqual), R(6), U8(3), |
| 762 B(JumpIfFalse), U8(7), |
| 763 B(LdaZero), |
| 764 B(Star), R(6), |
| 765 B(Jump), U8(8), |
| 766 /* 49 S> */ B(Ldar), R(0), |
| 767 B(Inc), U8(4), |
| 768 B(Star), R(0), |
| 769 B(LdaSmi), I8(1), |
| 770 B(Star), R(7), |
| 771 /* 41 S> */ B(LdaSmi), I8(10), |
| 772 /* 41 E> */ B(TestLessThan), R(0), U8(5), |
| 773 B(JumpIfFalse), U8(4), |
| 774 B(Jump), U8(4), |
| 775 B(Jump), U8(134), |
| 776 B(Ldar), R(9), |
876 B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0), | 777 B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0), |
877 B(LdaSmi), I8(-2), | 778 B(LdaSmi), I8(-2), |
878 B(TestEqualStrictNoFeedback), R(3), | 779 B(TestEqualStrictNoFeedback), R(9), |
879 B(JumpIfTrue), U8(11), | 780 B(JumpIfTrue), U8(11), |
880 B(LdaSmi), I8(79), | 781 B(LdaSmi), I8(79), |
881 B(Star), R(9), | 782 B(Star), R(15), |
882 B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1), | 783 B(CallRuntime), U16(Runtime::kAbort), R(15), U8(1), |
883 B(StackCheck), | |
884 B(Ldar), R(closure), | |
885 B(CreateBlockContext), U8(3), | |
886 B(PushContext), R(2), | |
887 B(LdaTheHole), | |
888 B(StaCurrentContextSlot), U8(4), | |
889 B(LdaContextSlot), R(1), U8(7), U8(0), | |
890 B(StaCurrentContextSlot), U8(4), | |
891 B(LdaContextSlot), R(1), U8(8), U8(0), | |
892 B(Star), R(9), | |
893 B(LdaSmi), I8(1), | 784 B(LdaSmi), I8(1), |
894 B(TestEqual), R(9), U8(3), | 785 B(TestEqual), R(7), U8(6), |
895 B(JumpIfFalse), U8(9), | 786 B(JumpIfFalse), U8(94), |
| 787 /* 23 E> */ B(StackCheck), |
| 788 /* 52 S> */ B(Nop), |
| 789 /* 58 S> */ B(Mov), R(0), R(3), |
| 790 /* 52 S> */ B(LdaUndefined), |
| 791 B(Star), R(16), |
| 792 B(Mov), R(2), R(17), |
| 793 B(Mov), R(0), R(18), |
| 794 B(Mov), R(4), R(19), |
| 795 B(CallJSRuntime), U8(%async_function_await_uncaught), R(16), U8(
4), |
896 B(LdaZero), | 796 B(LdaZero), |
897 B(StaContextSlot), R(1), U8(8), U8(0), | 797 B(Mov), R(2), R(15), |
898 B(Jump), U8(8), | 798 B(Mov), R(4), R(16), |
899 /* 49 S> */ B(LdaCurrentContextSlot), U8(4), | 799 B(SuspendGenerator), R(15), U8(2), |
900 B(Inc), U8(4), | 800 B(Ldar), R(16), |
901 /* 49 E> */ B(StaCurrentContextSlot), U8(4), | |
902 B(LdaSmi), I8(1), | |
903 B(StaContextSlot), R(1), U8(9), U8(0), | |
904 /* 41 S> */ B(LdaCurrentContextSlot), U8(4), | |
905 B(Star), R(9), | |
906 B(LdaSmi), I8(10), | |
907 /* 41 E> */ B(TestLessThan), R(9), U8(5), | |
908 B(JumpIfFalse), U8(4), | |
909 B(Jump), U8(6), | |
910 B(PopContext), R(2), | |
911 B(Jump), U8(172), | |
912 B(Ldar), R(3), | |
913 B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(0), | |
914 B(LdaSmi), I8(-2), | |
915 B(TestEqualStrictNoFeedback), R(3), | |
916 B(JumpIfTrue), U8(11), | |
917 B(LdaSmi), I8(79), | |
918 B(Star), R(9), | |
919 B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1), | |
920 B(LdaContextSlot), R(1), U8(9), U8(0), | |
921 B(Star), R(9), | |
922 B(LdaSmi), I8(1), | |
923 B(TestEqual), R(9), U8(6), | |
924 B(JumpIfFalse), U8(116), | |
925 /* 23 E> */ B(StackCheck), | |
926 /* 52 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0), | |
927 B(Star), R(9), | |
928 /* 58 S> */ B(LdaCurrentContextSlot), U8(4), | |
929 B(StaContextSlot), R(1), U8(5), U8(0), | |
930 /* 52 S> */ B(LdaUndefined), | |
931 B(Star), R(10), | |
932 B(LdaImmutableContextSlot), R(1), U8(4), U8(0), | |
933 B(Star), R(11), | |
934 B(LdaContextSlot), R(1), U8(5), U8(0), | |
935 B(Star), R(12), | |
936 B(LdaContextSlot), R(1), U8(6), U8(0), | |
937 B(Star), R(13), | |
938 B(CallJSRuntime), U8(%async_function_await_uncaught), R(10), U8(
4), | |
939 B(LdaContextSlot), R(1), U8(6), U8(0), | |
940 B(Star), R(10), | |
941 B(LdaZero), | |
942 B(SuspendGenerator), R(9), U8(2), | |
943 B(Ldar), R(10), | |
944 /* 61 S> */ B(Return), | 801 /* 61 S> */ B(Return), |
945 B(LdaSmi), I8(-2), | 802 B(LdaSmi), I8(-2), |
946 B(Star), R(3), | 803 B(Star), R(9), |
947 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos),
R(9), U8(1), | 804 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos),
R(15), U8(1), |
948 B(Star), R(10), | 805 B(Star), R(16), |
949 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9),
U8(1), | 806 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(15)
, U8(1), |
| 807 B(Star), R(17), |
| 808 B(LdaZero), |
| 809 B(TestEqualStrictNoFeedback), R(17), |
| 810 B(JumpIfTrue), U8(28), |
| 811 B(LdaSmi), I8(2), |
| 812 B(TestEqualStrictNoFeedback), R(17), |
| 813 B(JumpIfTrue), U8(19), |
| 814 B(LdaTrue), |
| 815 B(Star), R(19), |
| 816 B(Mov), R(16), R(18), |
| 817 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(18)
, U8(2), |
| 818 B(Star), R(12), |
| 819 B(LdaZero), |
950 B(Star), R(11), | 820 B(Star), R(11), |
951 B(LdaZero), | 821 B(Jump), U8(106), |
952 B(TestEqualStrictNoFeedback), R(11), | 822 B(Ldar), R(16), |
953 B(JumpIfTrue), U8(30), | |
954 B(LdaSmi), I8(2), | |
955 B(TestEqualStrictNoFeedback), R(11), | |
956 B(JumpIfTrue), U8(21), | |
957 B(LdaTrue), | |
958 B(Star), R(13), | |
959 B(Mov), R(10), R(12), | |
960 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12)
, U8(2), | |
961 B(PopContext), R(1), | |
962 B(Star), R(6), | |
963 B(LdaZero), | |
964 B(Star), R(5), | |
965 B(Jump), U8(129), | |
966 B(Ldar), R(10), | |
967 B(ReThrow), | 823 B(ReThrow), |
968 B(LdaZero), | 824 B(LdaZero), |
969 B(StaContextSlot), R(1), U8(9), U8(0), | 825 B(Star), R(7), |
970 B(LdaCurrentContextSlot), U8(4), | 826 B(Mov), R(0), R(5), |
971 /* 59 E> */ B(StaContextSlot), R(1), U8(7), U8(0), | 827 B(Ldar), R(0), |
972 B(JumpLoop), U8(145), I8(1), | 828 B(JumpLoop), U8(117), I8(1), |
973 B(LdaContextSlot), R(1), U8(9), U8(0), | |
974 B(Star), R(9), | |
975 B(LdaSmi), I8(1), | 829 B(LdaSmi), I8(1), |
976 B(TestEqual), R(9), U8(7), | 830 /* 59 E> */ B(TestEqual), R(7), U8(7), |
977 B(JumpIfFalse), U8(6), | 831 B(JumpIfFalse), U8(4), |
978 B(PopContext), R(2), | 832 B(Jump), U8(5), |
979 B(Jump), U8(7), | 833 B(JumpLoop), U8(187), I8(0), |
980 B(PopContext), R(2), | |
981 B(JumpLoop), U8(253), I8(0), | |
982 B(PopContext), R(1), | |
983 B(LdaUndefined), | 834 B(LdaUndefined), |
984 B(Star), R(9), | 835 B(Star), R(15), |
985 B(LdaCurrentContextSlot), U8(6), | |
986 B(Star), R(10), | |
987 B(LdaUndefined), | 836 B(LdaUndefined), |
| 837 B(Star), R(17), |
| 838 B(Mov), R(4), R(16), |
| 839 B(CallJSRuntime), U8(%promise_resolve), R(15), U8(3), |
| 840 B(LdaZero), |
988 B(Star), R(11), | 841 B(Star), R(11), |
989 B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3), | 842 B(Mov), R(4), R(12), |
990 B(LdaCurrentContextSlot), U8(6), | 843 B(Jump), U8(59), |
991 B(Star), R(6), | 844 B(Jump), U8(45), |
992 B(LdaZero), | 845 B(Star), R(15), |
993 B(Star), R(5), | |
994 B(Jump), U8(65), | |
995 B(Jump), U8(51), | |
996 B(Star), R(9), | |
997 B(Ldar), R(closure), | 846 B(Ldar), R(closure), |
998 B(CreateCatchContext), R(9), U8(5), U8(6), | 847 B(CreateCatchContext), R(15), U8(3), U8(4), |
999 B(Star), R(8), | 848 B(Star), R(14), |
1000 B(LdaTheHole), | 849 B(LdaTheHole), |
1001 B(SetPendingMessage), | 850 B(SetPendingMessage), |
1002 B(Ldar), R(8), | 851 B(Ldar), R(14), |
1003 B(PushContext), R(1), | 852 B(PushContext), R(8), |
1004 B(LdaUndefined), | 853 B(LdaUndefined), |
1005 B(Star), R(9), | 854 B(Star), R(15), |
1006 B(LdaContextSlot), R(1), U8(6), U8(0), | |
1007 B(Star), R(10), | |
1008 B(LdaImmutableCurrentContextSlot), U8(4), | 855 B(LdaImmutableCurrentContextSlot), U8(4), |
| 856 B(Star), R(17), |
| 857 B(LdaFalse), |
| 858 B(Star), R(18), |
| 859 B(Mov), R(4), R(16), |
| 860 B(CallJSRuntime), U8(%promise_internal_reject), R(15), U8(4), |
| 861 B(PopContext), R(8), |
| 862 B(LdaZero), |
1009 B(Star), R(11), | 863 B(Star), R(11), |
1010 B(LdaFalse), | 864 B(Mov), R(4), R(12), |
1011 B(Star), R(12), | |
1012 B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4), | |
1013 B(LdaContextSlot), R(1), U8(6), U8(0), | |
1014 B(PopContext), R(1), | |
1015 B(Star), R(6), | |
1016 B(LdaZero), | |
1017 B(Star), R(5), | |
1018 B(Jump), U8(14), | 865 B(Jump), U8(14), |
1019 B(LdaSmi), I8(-1), | 866 B(LdaSmi), I8(-1), |
1020 B(Star), R(5), | 867 B(Star), R(11), |
1021 B(Jump), U8(8), | 868 B(Jump), U8(8), |
1022 B(Star), R(6), | 869 B(Star), R(12), |
1023 B(LdaSmi), I8(1), | 870 B(LdaSmi), I8(1), |
1024 B(Star), R(5), | 871 B(Star), R(11), |
1025 B(LdaTheHole), | 872 B(LdaTheHole), |
1026 B(SetPendingMessage), | 873 B(SetPendingMessage), |
1027 B(Star), R(7), | 874 B(Star), R(13), |
1028 B(LdaUndefined), | 875 B(LdaUndefined), |
1029 B(Star), R(8), | 876 B(Star), R(14), |
1030 B(LdaCurrentContextSlot), U8(6), | 877 B(Mov), R(4), R(15), |
1031 B(Star), R(9), | 878 B(CallJSRuntime), U8(%async_function_promise_release), R(14), U8
(2), |
1032 B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(
2), | 879 B(Ldar), R(13), |
1033 B(Ldar), R(7), | |
1034 B(SetPendingMessage), | 880 B(SetPendingMessage), |
1035 B(Ldar), R(5), | 881 B(Ldar), R(11), |
1036 B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0), | 882 B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0), |
1037 B(Jump), U8(8), | 883 B(Jump), U8(8), |
1038 B(Ldar), R(6), | 884 B(Ldar), R(12), |
1039 /* 61 S> */ B(Return), | 885 /* 61 S> */ B(Return), |
1040 B(Ldar), R(6), | 886 B(Ldar), R(12), |
1041 B(ReThrow), | 887 B(ReThrow), |
1042 B(LdaUndefined), | 888 B(LdaUndefined), |
1043 /* 61 S> */ B(Return), | 889 /* 61 S> */ B(Return), |
1044 ] | 890 ] |
1045 constant pool: [ | 891 constant pool: [ |
1046 Smi [73], | 892 Smi [54], |
1047 FIXED_ARRAY_TYPE, | 893 Smi [56], |
1048 Smi [84], | 894 Smi [60], |
1049 FIXED_ARRAY_TYPE, | |
1050 Smi [83], | |
1051 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | 895 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
1052 FIXED_ARRAY_TYPE, | 896 FIXED_ARRAY_TYPE, |
1053 Smi [6], | 897 Smi [6], |
1054 Smi [9], | 898 Smi [9], |
1055 ] | 899 ] |
1056 handlers: [ | 900 handlers: [ |
1057 [60, 419, 425], | 901 [56, 324, 330], |
1058 [63, 368, 370], | 902 [59, 279, 281], |
1059 ] | 903 ] |
1060 | 904 |
OLD | NEW |