Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden

Issue 2917263002: Move generator-close on exception from the generator function to the GeneratorResume builtin. (Closed)
Patch Set: Scope for the old unused context register Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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: 18 274 frame size: 13
275 parameter count: 1 275 parameter count: 1
276 bytecode array length: 254 276 bytecode array length: 196
277 bytecodes: [ 277 bytecodes: [
278 B(Mov), R(new_target), R(7), 278 B(Mov), R(new_target), R(7),
279 B(Ldar), R(new_target), 279 B(Ldar), R(new_target),
280 B(JumpIfUndefined), U8(25), 280 B(JumpIfUndefined), U8(25),
281 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(7), U8 (1), 281 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(7), U8 (1),
282 B(PushContext), R(9), 282 B(PushContext), R(9),
283 B(RestoreGeneratorState), R(7), 283 B(RestoreGeneratorState), R(7),
284 B(Star), R(8), 284 B(Star), R(8),
285 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 285 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
286 B(LdaSmi), I8(79), 286 B(LdaSmi), I8(79),
287 B(Star), R(10), 287 B(Star), R(9),
288 B(CallRuntime), U16(Runtime::kAbort), R(10), U8(1), 288 B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1),
289 B(LdaSmi), I8(-2), 289 B(LdaSmi), I8(-2),
290 B(Star), R(8), 290 B(Star), R(8),
291 B(Mov), R(closure), R(10), 291 B(Mov), R(closure), R(9),
292 B(Mov), R(this), R(11), 292 B(Mov), R(this), R(10),
293 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(10 ), U8(2), 293 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(9) , U8(2),
294 B(Star), R(3), 294 B(Star), R(3),
295 /* 11 E> */ B(StackCheck), 295 /* 11 E> */ B(StackCheck),
296 B(Star), R(7),
297 B(Mov), R(context), R(12),
298 B(LdaZero), 296 B(LdaZero),
299 B(Mov), R(3), R(14), 297 B(Mov), R(3), R(7),
300 B(Mov), R(3), R(13), 298 B(Mov), R(3), R(10),
301 /* 11 E> */ B(SuspendGenerator), R(13), R(0), U8(14), U8(0), 299 B(Mov), R(3), R(9),
302 B(Ldar), R(14), 300 /* 11 E> */ B(SuspendGenerator), R(9), R(0), U8(10), U8(0),
301 B(Ldar), R(10),
303 /* 62 S> */ B(Return), 302 /* 62 S> */ B(Return),
304 B(RestoreGeneratorRegisters), R(7), R(0), U8(14), 303 B(RestoreGeneratorRegisters), R(7), R(0), U8(10),
305 B(LdaSmi), I8(-2), 304 B(LdaSmi), I8(-2),
306 B(Star), R(8), 305 B(Star), R(8),
307 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1), 306 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1),
308 B(Star), R(14), 307 B(Star), R(10),
309 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13) , U8(1), 308 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1),
310 B(Star), R(15),
311 B(LdaZero),
312 B(TestEqualStrictNoFeedback), R(15),
313 B(JumpIfTrue), U8(28),
314 B(LdaSmi), I8(2),
315 B(TestEqualStrictNoFeedback), R(15),
316 B(JumpIfTrue), U8(19),
317 B(LdaTrue),
318 B(Star), R(17),
319 B(Mov), R(14), R(16),
320 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16) , U8(2),
321 B(Star), R(11), 309 B(Star), R(11),
322 B(LdaZero), 310 B(LdaZero),
323 B(Star), R(10), 311 B(TestEqualStrictNoFeedback), R(11),
324 B(Jump), U8(114), 312 B(JumpIfTrue), U8(18),
325 B(Ldar), R(14), 313 B(LdaSmi), I8(2),
314 B(TestEqualStrictNoFeedback), R(11),
315 B(JumpIfTrue), U8(9),
316 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(7), U8(1),
317 B(Ldar), R(10),
318 /* 62 S> */ B(Return),
319 B(Ldar), R(10),
326 /* 11 E> */ B(Throw), 320 /* 11 E> */ B(Throw),
327 /* 31 S> */ B(LdaZero), 321 /* 31 S> */ B(LdaZero),
328 B(Star), R(2), 322 B(Star), R(2),
329 B(Star), R(4), 323 B(Star), R(4),
330 B(LdaSmi), I8(1), 324 B(LdaSmi), I8(1),
331 B(Star), R(5), 325 B(Star), R(5),
332 /* 60 E> */ B(StackCheck), 326 /* 60 E> */ B(StackCheck),
333 B(Mov), R(4), R(1), 327 B(Mov), R(4), R(1),
334 B(LdaSmi), I8(1), 328 B(LdaSmi), I8(1),
335 B(TestEqual), R(5), U8(3), 329 B(TestEqual), R(5), U8(3),
(...skipping 20 matching lines...) Expand all
356 B(Star), R(6), 350 B(Star), R(6),
357 B(Mov), R(0), R(4), 351 B(Mov), R(0), R(4),
358 B(Ldar), R(0), 352 B(Ldar), R(0),
359 B(JumpLoop), U8(19), I8(1), 353 B(JumpLoop), U8(19), I8(1),
360 B(LdaSmi), I8(1), 354 B(LdaSmi), I8(1),
361 /* 60 E> */ B(TestEqual), R(6), U8(7), 355 /* 60 E> */ B(TestEqual), R(6), U8(7),
362 B(JumpIfFalse), U8(4), 356 B(JumpIfFalse), U8(4),
363 B(Jump), U8(5), 357 B(Jump), U8(5),
364 B(JumpLoop), U8(68), I8(0), 358 B(JumpLoop), U8(68), I8(0),
365 B(LdaUndefined), 359 B(LdaUndefined),
366 B(Star), R(13), 360 B(Star), R(9),
367 B(LdaTrue), 361 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(7), U8(1),
368 B(Star), R(14), 362 B(Ldar), R(9),
369 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13) , U8(2),
370 B(Star), R(11),
371 B(LdaZero),
372 B(Star), R(10),
373 B(Jump), U8(14),
374 B(LdaSmi), I8(-1),
375 B(Star), R(10),
376 B(Jump), U8(8),
377 B(Star), R(11),
378 B(LdaSmi), I8(1),
379 B(Star), R(10),
380 B(LdaTheHole),
381 B(SetPendingMessage),
382 B(Star), R(12),
383 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(3), U8(1),
384 B(Ldar), R(12),
385 B(SetPendingMessage),
386 B(Ldar), R(10),
387 B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0),
388 B(Jump), U8(8),
389 B(Ldar), R(11),
390 /* 62 S> */ B(Return),
391 B(Ldar), R(11),
392 B(ReThrow),
393 B(LdaUndefined),
394 /* 62 S> */ B(Return), 363 /* 62 S> */ B(Return),
395 ] 364 ]
396 constant pool: [ 365 constant pool: [
397 Smi [50], 366 Smi [48],
398 Smi [6],
399 Smi [9],
400 ] 367 ]
401 handlers: [ 368 handlers: [
402 [52, 215, 221],
403 ] 369 ]
404 370
405 --- 371 ---
406 snippet: " 372 snippet: "
407 function* f() { 373 function* f() {
408 for (let x = 0; x < 10; ++x) yield x; 374 for (let x = 0; x < 10; ++x) yield x;
409 } 375 }
410 f(); 376 f();
411 " 377 "
412 frame size: 17 378 frame size: 12
413 parameter count: 1 379 parameter count: 1
414 bytecode array length: 369 380 bytecode array length: 300
415 bytecodes: [ 381 bytecodes: [
416 B(Mov), R(new_target), R(6), 382 B(Mov), R(new_target), R(6),
417 B(Ldar), R(new_target), 383 B(Ldar), R(new_target),
418 B(JumpIfUndefined), U8(25), 384 B(JumpIfUndefined), U8(25),
419 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(6), U8 (1), 385 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(6), U8 (1),
420 B(PushContext), R(8), 386 B(PushContext), R(8),
421 B(RestoreGeneratorState), R(6), 387 B(RestoreGeneratorState), R(6),
422 B(Star), R(7), 388 B(Star), R(7),
423 B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), 389 B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0),
424 B(LdaSmi), I8(79), 390 B(LdaSmi), I8(79),
425 B(Star), R(9), 391 B(Star), R(8),
426 B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1), 392 B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1),
427 B(LdaSmi), I8(-2), 393 B(LdaSmi), I8(-2),
428 B(Star), R(7), 394 B(Star), R(7),
429 B(Mov), R(closure), R(9), 395 B(Mov), R(closure), R(8),
430 B(Mov), R(this), R(10), 396 B(Mov), R(this), R(9),
431 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(9) , U8(2), 397 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(8) , U8(2),
432 B(Star), R(2), 398 B(Star), R(2),
433 /* 11 E> */ B(StackCheck), 399 /* 11 E> */ B(StackCheck),
434 B(Star), R(6),
435 B(Mov), R(context), R(11),
436 B(LdaZero), 400 B(LdaZero),
437 B(Mov), R(2), R(13), 401 B(Mov), R(2), R(6),
438 B(Mov), R(2), R(12), 402 B(Mov), R(2), R(9),
439 /* 11 E> */ B(SuspendGenerator), R(12), R(0), U8(13), U8(0), 403 B(Mov), R(2), R(8),
440 B(Ldar), R(13), 404 /* 11 E> */ B(SuspendGenerator), R(8), R(0), U8(9), U8(0),
405 B(Ldar), R(9),
441 /* 56 S> */ B(Return), 406 /* 56 S> */ B(Return),
442 B(RestoreGeneratorRegisters), R(6), R(0), U8(13), 407 B(RestoreGeneratorRegisters), R(6), R(0), U8(9),
443 B(LdaSmi), I8(-2), 408 B(LdaSmi), I8(-2),
444 B(Star), R(7), 409 B(Star), R(7),
445 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), 410 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
446 B(Star), R(13), 411 B(Star), R(9),
447 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12) , U8(1), 412 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
448 B(Star), R(14),
449 B(LdaZero),
450 B(TestEqualStrictNoFeedback), R(14),
451 B(JumpIfTrue), U8(28),
452 B(LdaSmi), I8(2),
453 B(TestEqualStrictNoFeedback), R(14),
454 B(JumpIfTrue), U8(19),
455 B(LdaTrue),
456 B(Star), R(16),
457 B(Mov), R(13), R(15),
458 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15) , U8(2),
459 B(Star), R(10), 413 B(Star), R(10),
460 B(LdaZero), 414 B(LdaZero),
461 B(Star), R(9), 415 B(TestEqualStrictNoFeedback), R(10),
462 B(Jump), U8(229), 416 B(JumpIfTrue), U8(18),
463 B(Ldar), R(13), 417 B(LdaSmi), I8(2),
418 B(TestEqualStrictNoFeedback), R(10),
419 B(JumpIfTrue), U8(9),
420 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1),
421 B(Ldar), R(9),
422 /* 56 S> */ B(Return),
423 B(Ldar), R(9),
464 /* 11 E> */ B(Throw), 424 /* 11 E> */ B(Throw),
465 /* 31 S> */ B(LdaZero), 425 /* 31 S> */ B(LdaZero),
466 B(Star), R(1), 426 B(Star), R(1),
467 B(Star), R(3), 427 B(Star), R(3),
468 B(LdaSmi), I8(1), 428 B(LdaSmi), I8(1),
469 B(Star), R(4), 429 B(Star), R(4),
470 B(Ldar), R(7), 430 B(Ldar), R(7),
471 B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(1), 431 B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(1),
472 B(LdaSmi), I8(-2), 432 B(LdaSmi), I8(-2),
473 /* 54 E> */ B(TestEqualStrictNoFeedback), R(7), 433 /* 54 E> */ B(TestEqualStrictNoFeedback), R(7),
474 B(JumpIfTrue), U8(11), 434 B(JumpIfTrue), U8(11),
475 B(LdaSmi), I8(79), 435 B(LdaSmi), I8(79),
476 B(Star), R(12), 436 B(Star), R(8),
477 B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), 437 B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1),
478 B(StackCheck), 438 B(StackCheck),
479 B(Mov), R(3), R(0), 439 B(Mov), R(3), R(0),
480 B(LdaSmi), I8(1), 440 B(LdaSmi), I8(1),
481 B(TestEqual), R(4), U8(3), 441 B(TestEqual), R(4), U8(3),
482 B(JumpIfFalse), U8(7), 442 B(JumpIfFalse), U8(7),
483 B(LdaZero), 443 B(LdaZero),
484 B(Star), R(4), 444 B(Star), R(4),
485 B(Jump), U8(8), 445 B(Jump), U8(8),
486 /* 44 S> */ B(Ldar), R(0), 446 /* 44 S> */ B(Ldar), R(0),
487 B(Inc), U8(4), 447 B(Inc), U8(4),
488 B(Star), R(0), 448 B(Star), R(0),
489 B(LdaSmi), I8(1), 449 B(LdaSmi), I8(1),
490 B(Star), R(5), 450 B(Star), R(5),
491 /* 36 S> */ B(LdaSmi), I8(10), 451 /* 36 S> */ B(LdaSmi), I8(10),
492 /* 36 E> */ B(TestLessThan), R(0), U8(5), 452 /* 36 E> */ B(TestLessThan), R(0), U8(5),
493 B(JumpIfFalse), U8(4), 453 B(JumpIfFalse), U8(4),
494 B(Jump), U8(4), 454 B(Jump), U8(4),
495 B(Jump), U8(130), 455 B(Jump), U8(119),
496 B(Ldar), R(7), 456 B(Ldar), R(7),
497 B(SwitchOnSmiNoFeedback), U8(3), U8(1), I8(1), 457 B(SwitchOnSmiNoFeedback), U8(3), U8(1), I8(1),
498 B(LdaSmi), I8(-2), 458 B(LdaSmi), I8(-2),
499 B(TestEqualStrictNoFeedback), R(7), 459 B(TestEqualStrictNoFeedback), R(7),
500 B(JumpIfTrue), U8(11), 460 B(JumpIfTrue), U8(11),
501 B(LdaSmi), I8(79), 461 B(LdaSmi), I8(79),
502 B(Star), R(12), 462 B(Star), R(8),
503 B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), 463 B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1),
504 B(LdaSmi), I8(1), 464 B(LdaSmi), I8(1),
505 B(TestEqual), R(5), U8(6), 465 B(TestEqual), R(5), U8(6),
506 B(JumpIfFalse), U8(90), 466 B(JumpIfFalse), U8(79),
507 /* 18 E> */ B(StackCheck), 467 /* 18 E> */ B(StackCheck),
508 /* 47 S> */ B(LdaFalse), 468 /* 47 S> */ B(LdaSmi), I8(1),
509 B(Star), R(14), 469 B(Mov), R(0), R(9),
510 B(Mov), R(0), R(13), 470 B(Mov), R(2), R(8),
511 /* 53 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13) , U8(2), 471 /* 53 E> */ B(SuspendGenerator), R(8), R(0), U8(9), U8(0),
512 B(Star), R(13), 472 B(LdaFalse),
513 B(LdaSmi), I8(1), 473 B(Star), R(11),
514 B(Mov), R(2), R(12), 474 B(Mov), R(9), R(10),
515 B(SuspendGenerator), R(12), R(0), U8(13), U8(0), 475 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(10) , U8(2),
516 B(Ldar), R(13),
517 /* 56 S> */ B(Return), 476 /* 56 S> */ B(Return),
518 B(RestoreGeneratorRegisters), R(6), R(0), U8(13), 477 B(RestoreGeneratorRegisters), R(6), R(0), U8(9),
519 B(LdaSmi), I8(-2), 478 B(LdaSmi), I8(-2),
520 B(Star), R(7), 479 B(Star), R(7),
521 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), 480 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
522 B(Star), R(13), 481 B(Star), R(9),
523 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12) , U8(1), 482 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
524 B(Star), R(14),
525 B(LdaZero),
526 B(TestEqualStrictNoFeedback), R(14),
527 B(JumpIfTrue), U8(28),
528 B(LdaSmi), I8(2),
529 B(TestEqualStrictNoFeedback), R(14),
530 B(JumpIfTrue), U8(19),
531 B(LdaTrue),
532 B(Star), R(16),
533 B(Mov), R(13), R(15),
534 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15) , U8(2),
535 B(Star), R(10), 483 B(Star), R(10),
536 B(LdaZero), 484 B(LdaZero),
537 B(Star), R(9), 485 B(TestEqualStrictNoFeedback), R(10),
538 B(Jump), U8(57), 486 B(JumpIfTrue), U8(18),
539 B(Ldar), R(13), 487 B(LdaSmi), I8(2),
488 B(TestEqualStrictNoFeedback), R(10),
489 B(JumpIfTrue), U8(9),
490 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1),
491 B(Ldar), R(9),
492 /* 56 S> */ B(Return),
493 B(Ldar), R(9),
540 /* 47 E> */ B(Throw), 494 /* 47 E> */ B(Throw),
541 B(LdaZero), 495 B(LdaZero),
542 B(Star), R(5), 496 B(Star), R(5),
543 B(Mov), R(0), R(3), 497 B(Mov), R(0), R(3),
544 B(Ldar), R(0), 498 B(Ldar), R(0),
545 B(JumpLoop), U8(113), I8(1), 499 B(JumpLoop), U8(102), I8(1),
546 B(LdaSmi), I8(1), 500 B(LdaSmi), I8(1),
547 /* 54 E> */ B(TestEqual), R(5), U8(7), 501 /* 54 E> */ B(TestEqual), R(5), U8(7),
548 B(JumpIfFalse), U8(4), 502 B(JumpIfFalse), U8(4),
549 B(Jump), U8(5), 503 B(Jump), U8(5),
550 B(JumpLoop), U8(183), I8(0), 504 B(JumpLoop), U8(172), I8(0),
551 B(LdaUndefined), 505 B(LdaUndefined),
552 B(Star), R(12), 506 B(Star), R(8),
553 B(LdaTrue), 507 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1),
554 B(Star), R(13), 508 B(Ldar), R(8),
555 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12) , U8(2),
556 B(Star), R(10),
557 B(LdaZero),
558 B(Star), R(9),
559 B(Jump), U8(14),
560 B(LdaSmi), I8(-1),
561 B(Star), R(9),
562 B(Jump), U8(8),
563 B(Star), R(10),
564 B(LdaSmi), I8(1),
565 B(Star), R(9),
566 B(LdaTheHole),
567 B(SetPendingMessage),
568 B(Star), R(11),
569 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(2), U8(1),
570 B(Ldar), R(11),
571 B(SetPendingMessage),
572 B(Ldar), R(9),
573 B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0),
574 B(Jump), U8(8),
575 B(Ldar), R(10),
576 /* 56 S> */ B(Return),
577 B(Ldar), R(10),
578 B(ReThrow),
579 B(LdaUndefined),
580 /* 56 S> */ B(Return), 509 /* 56 S> */ B(Return),
581 ] 510 ]
582 constant pool: [ 511 constant pool: [
583 Smi [50], 512 Smi [48],
584 Smi [110], 513 Smi [98],
585 Smi [56], 514 Smi [56],
586 Smi [52], 515 Smi [51],
587 Smi [6],
588 Smi [9],
589 ] 516 ]
590 handlers: [ 517 handlers: [
591 [52, 330, 336],
592 ] 518 ]
593 519
594 --- 520 ---
595 snippet: " 521 snippet: "
596 async function f() { 522 async function f() {
597 for (let x = 0; x < 10; ++x) { let y = x; } 523 for (let x = 0; x < 10; ++x) { let y = x; }
598 } 524 }
599 f(); 525 f();
600 " 526 "
601 frame size: 17 527 frame size: 17
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 [16, 117, 119], 641 [16, 117, 119],
716 ] 642 ]
717 643
718 --- 644 ---
719 snippet: " 645 snippet: "
720 async function f() { 646 async function f() {
721 for (let x = 0; x < 10; ++x) await x; 647 for (let x = 0; x < 10; ++x) await x;
722 } 648 }
723 f(); 649 f();
724 " 650 "
725 frame size: 19 651 frame size: 18
726 parameter count: 1 652 parameter count: 1
727 bytecode array length: 377 653 bytecode array length: 368
728 bytecodes: [ 654 bytecodes: [
729 B(Mov), R(new_target), R(7), 655 B(Mov), R(new_target), R(7),
730 B(Ldar), R(new_target), 656 B(Ldar), R(new_target),
731 B(JumpIfUndefined), U8(25), 657 B(JumpIfUndefined), U8(25),
732 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(7), U8 (1), 658 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(7), U8 (1),
733 B(PushContext), R(9), 659 B(PushContext), R(9),
734 B(RestoreGeneratorState), R(7), 660 B(RestoreGeneratorState), R(7),
735 B(Star), R(8), 661 B(Star), R(8),
736 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 662 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
737 B(LdaSmi), I8(79), 663 B(LdaSmi), I8(79),
738 B(Star), R(10), 664 B(Star), R(9),
739 B(CallRuntime), U16(Runtime::kAbort), R(10), U8(1), 665 B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1),
740 B(LdaSmi), I8(-2), 666 B(LdaSmi), I8(-2),
741 B(Star), R(8), 667 B(Star), R(8),
742 B(Mov), R(closure), R(10), 668 B(Mov), R(closure), R(9),
743 B(Mov), R(this), R(11), 669 B(Mov), R(this), R(10),
744 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(10 ), U8(2), 670 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(9) , U8(2),
745 B(Star), R(2), 671 B(Star), R(2),
746 /* 16 E> */ B(StackCheck), 672 /* 16 E> */ B(StackCheck),
747 B(LdaUndefined), 673 B(LdaUndefined),
748 B(Star), R(10), 674 B(Star), R(9),
749 B(CallJSRuntime), U8(%async_function_promise_create), R(10), U8( 1), 675 B(CallJSRuntime), U8(%async_function_promise_create), R(9), U8(1 ),
750 B(Star), R(3), 676 B(Star), R(3),
677 B(Mov), R(context), R(11),
678 B(Mov), R(2), R(7),
751 B(Mov), R(context), R(12), 679 B(Mov), R(context), R(12),
752 B(Mov), R(2), R(7),
753 B(Mov), R(context), R(13),
754 /* 36 S> */ B(LdaZero), 680 /* 36 S> */ B(LdaZero),
755 B(Star), R(1), 681 B(Star), R(1),
756 B(Star), R(4), 682 B(Star), R(4),
757 B(LdaSmi), I8(1), 683 B(LdaSmi), I8(1),
758 B(Star), R(5), 684 B(Star), R(5),
759 B(Ldar), R(8), 685 B(Ldar), R(8),
760 B(SwitchOnSmiNoFeedback), U8(1), U8(1), I8(0), 686 B(SwitchOnSmiNoFeedback), U8(1), U8(1), I8(0),
761 B(LdaSmi), I8(-2), 687 B(LdaSmi), I8(-2),
762 /* 59 E> */ B(TestEqualStrictNoFeedback), R(8), 688 /* 59 E> */ B(TestEqualStrictNoFeedback), R(8),
763 B(JumpIfTrue), U8(11), 689 B(JumpIfTrue), U8(11),
764 B(LdaSmi), I8(79), 690 B(LdaSmi), I8(79),
765 B(Star), R(14), 691 B(Star), R(13),
766 B(CallRuntime), U16(Runtime::kAbort), R(14), U8(1), 692 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
767 B(StackCheck), 693 B(StackCheck),
768 B(Mov), R(4), R(0), 694 B(Mov), R(4), R(0),
769 B(LdaSmi), I8(1), 695 B(LdaSmi), I8(1),
770 B(TestEqual), R(5), U8(3), 696 B(TestEqual), R(5), U8(3),
771 B(JumpIfFalse), U8(7), 697 B(JumpIfFalse), U8(7),
772 B(LdaZero), 698 B(LdaZero),
773 B(Star), R(5), 699 B(Star), R(5),
774 B(Jump), U8(8), 700 B(Jump), U8(8),
775 /* 49 S> */ B(Ldar), R(0), 701 /* 49 S> */ B(Ldar), R(0),
776 B(Inc), U8(4), 702 B(Inc), U8(4),
777 B(Star), R(0), 703 B(Star), R(0),
778 B(LdaSmi), I8(1), 704 B(LdaSmi), I8(1),
779 B(Star), R(6), 705 B(Star), R(6),
780 /* 41 S> */ B(LdaSmi), I8(10), 706 /* 41 S> */ B(LdaSmi), I8(10),
781 /* 41 E> */ B(TestLessThan), R(0), U8(5), 707 /* 41 E> */ B(TestLessThan), R(0), U8(5),
782 B(JumpIfFalse), U8(4), 708 B(JumpIfFalse), U8(4),
783 B(Jump), U8(4), 709 B(Jump), U8(4),
784 B(Jump), U8(136), 710 B(Jump), U8(127),
785 B(Ldar), R(8), 711 B(Ldar), R(8),
786 B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0), 712 B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0),
787 B(LdaSmi), I8(-2), 713 B(LdaSmi), I8(-2),
788 B(TestEqualStrictNoFeedback), R(8), 714 B(TestEqualStrictNoFeedback), R(8),
789 B(JumpIfTrue), U8(11), 715 B(JumpIfTrue), U8(11),
790 B(LdaSmi), I8(79), 716 B(LdaSmi), I8(79),
791 B(Star), R(14), 717 B(Star), R(13),
792 B(CallRuntime), U16(Runtime::kAbort), R(14), U8(1), 718 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
793 B(LdaSmi), I8(1), 719 B(LdaSmi), I8(1),
794 B(TestEqual), R(6), U8(6), 720 B(TestEqual), R(6), U8(6),
795 B(JumpIfFalse), U8(96), 721 B(JumpIfFalse), U8(87),
796 /* 23 E> */ B(StackCheck), 722 /* 23 E> */ B(StackCheck),
797 /* 52 S> */ B(LdaUndefined), 723 /* 52 S> */ B(LdaUndefined),
798 B(Star), R(15), 724 B(Star), R(14),
799 B(Mov), R(2), R(16), 725 B(Mov), R(2), R(15),
800 B(Mov), R(0), R(17), 726 B(Mov), R(0), R(16),
801 B(Mov), R(3), R(18), 727 B(Mov), R(3), R(17),
802 /* 58 E> */ B(CallJSRuntime), U8(%async_function_await_uncaught), R(15), U8( 4), 728 /* 58 E> */ B(CallJSRuntime), U8(%async_function_await_uncaught), R(14), U8( 4),
803 B(LdaZero), 729 B(LdaZero),
804 B(Mov), R(2), R(14), 730 B(Mov), R(2), R(13),
805 B(Mov), R(3), R(15), 731 B(Mov), R(3), R(14),
806 B(SuspendGenerator), R(14), R(0), U8(15), U8(2), 732 B(SuspendGenerator), R(13), R(0), U8(14), U8(2),
807 B(Ldar), R(15), 733 B(Ldar), R(14),
808 /* 61 S> */ B(Return), 734 /* 61 S> */ B(Return),
809 B(RestoreGeneratorRegisters), R(7), R(0), U8(15), 735 B(RestoreGeneratorRegisters), R(7), R(0), U8(14),
810 B(LdaSmi), I8(-2), 736 B(LdaSmi), I8(-2),
811 B(Star), R(8), 737 B(Star), R(8),
812 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(14), U8(1), 738 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
739 B(Star), R(14),
740 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13) , U8(1),
813 B(Star), R(15), 741 B(Star), R(15),
814 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(14) , U8(1),
815 B(Star), R(16),
816 B(LdaZero), 742 B(LdaZero),
817 B(TestEqualStrictNoFeedback), R(16), 743 B(TestEqualStrictNoFeedback), R(15),
818 B(JumpIfTrue), U8(28), 744 B(JumpIfTrue), U8(19),
819 B(LdaSmi), I8(2), 745 B(LdaSmi), I8(2),
820 B(TestEqualStrictNoFeedback), R(16), 746 B(TestEqualStrictNoFeedback), R(15),
821 B(JumpIfTrue), U8(19), 747 B(JumpIfTrue), U8(10),
822 B(LdaTrue),
823 B(Star), R(18),
824 B(Mov), R(15), R(17),
825 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17) , U8(2),
826 B(Star), R(11),
827 B(LdaZero), 748 B(LdaZero),
828 B(Star), R(10), 749 B(Star), R(9),
750 B(Mov), R(14), R(10),
829 B(Jump), U8(106), 751 B(Jump), U8(106),
830 B(Ldar), R(15), 752 B(Ldar), R(14),
831 /* 52 E> */ B(ReThrow), 753 /* 52 E> */ B(ReThrow),
832 B(LdaZero), 754 B(LdaZero),
833 B(Star), R(6), 755 B(Star), R(6),
834 B(Mov), R(0), R(4), 756 B(Mov), R(0), R(4),
835 B(Ldar), R(0), 757 B(Ldar), R(0),
836 B(JumpLoop), U8(119), I8(1), 758 B(JumpLoop), U8(110), I8(1),
837 B(LdaSmi), I8(1), 759 B(LdaSmi), I8(1),
838 /* 59 E> */ B(TestEqual), R(6), U8(7), 760 /* 59 E> */ B(TestEqual), R(6), U8(7),
839 B(JumpIfFalse), U8(4), 761 B(JumpIfFalse), U8(4),
840 B(Jump), U8(5), 762 B(Jump), U8(5),
841 B(JumpLoop), U8(189), I8(0), 763 B(JumpLoop), U8(180), I8(0),
764 B(LdaUndefined),
765 B(Star), R(13),
766 B(LdaUndefined),
767 B(Star), R(15),
768 B(Mov), R(3), R(14),
769 B(CallJSRuntime), U8(%promise_resolve), R(13), U8(3),
770 B(LdaZero),
771 B(Star), R(9),
772 B(Mov), R(3), R(10),
773 B(Jump), U8(59),
774 B(Jump), U8(45),
775 B(Star), R(13),
776 B(Ldar), R(closure),
777 B(CreateCatchContext), R(13), U8(3), U8(4),
778 B(Star), R(12),
779 B(LdaTheHole),
780 B(SetPendingMessage),
781 B(Ldar), R(12),
782 B(PushContext), R(13),
842 B(LdaUndefined), 783 B(LdaUndefined),
843 B(Star), R(14), 784 B(Star), R(14),
844 B(LdaUndefined), 785 B(LdaImmutableCurrentContextSlot), U8(4),
845 B(Star), R(16), 786 B(Star), R(16),
787 B(LdaFalse),
788 B(Star), R(17),
846 B(Mov), R(3), R(15), 789 B(Mov), R(3), R(15),
847 B(CallJSRuntime), U8(%promise_resolve), R(14), U8(3), 790 B(CallJSRuntime), U8(%promise_internal_reject), R(14), U8(4),
791 B(PopContext), R(13),
848 B(LdaZero), 792 B(LdaZero),
793 B(Star), R(9),
794 B(Mov), R(3), R(10),
795 B(Jump), U8(14),
796 B(LdaSmi), I8(-1),
797 B(Star), R(9),
798 B(Jump), U8(8),
849 B(Star), R(10), 799 B(Star), R(10),
850 B(Mov), R(3), R(11), 800 B(LdaSmi), I8(1),
851 B(Jump), U8(59), 801 B(Star), R(9),
852 B(Jump), U8(45),
853 B(Star), R(14),
854 B(Ldar), R(closure),
855 B(CreateCatchContext), R(14), U8(3), U8(4),
856 B(Star), R(13),
857 B(LdaTheHole), 802 B(LdaTheHole),
858 B(SetPendingMessage), 803 B(SetPendingMessage),
859 B(Ldar), R(13), 804 B(Star), R(11),
860 B(PushContext), R(14),
861 B(LdaUndefined), 805 B(LdaUndefined),
862 B(Star), R(15), 806 B(Star), R(12),
863 B(LdaImmutableCurrentContextSlot), U8(4), 807 B(Mov), R(3), R(13),
864 B(Star), R(17), 808 B(CallJSRuntime), U8(%async_function_promise_release), R(12), U8 (2),
865 B(LdaFalse), 809 B(Ldar), R(11),
866 B(Star), R(18),
867 B(Mov), R(3), R(16),
868 B(CallJSRuntime), U8(%promise_internal_reject), R(15), U8(4),
869 B(PopContext), R(14),
870 B(LdaZero),
871 B(Star), R(10),
872 B(Mov), R(3), R(11),
873 B(Jump), U8(14),
874 B(LdaSmi), I8(-1),
875 B(Star), R(10),
876 B(Jump), U8(8),
877 B(Star), R(11),
878 B(LdaSmi), I8(1),
879 B(Star), R(10),
880 B(LdaTheHole),
881 B(SetPendingMessage), 810 B(SetPendingMessage),
882 B(Star), R(12), 811 B(Ldar), R(9),
883 B(LdaUndefined),
884 B(Star), R(13),
885 B(Mov), R(3), R(14),
886 B(CallJSRuntime), U8(%async_function_promise_release), R(13), U8 (2),
887 B(Ldar), R(12),
888 B(SetPendingMessage),
889 B(Ldar), R(10),
890 B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0), 812 B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0),
891 B(Jump), U8(8), 813 B(Jump), U8(8),
892 B(Ldar), R(11), 814 B(Ldar), R(10),
893 /* 61 S> */ B(Return), 815 /* 61 S> */ B(Return),
894 B(Ldar), R(11), 816 B(Ldar), R(10),
895 B(ReThrow), 817 B(ReThrow),
896 B(LdaUndefined), 818 B(LdaUndefined),
897 /* 61 S> */ B(Return), 819 /* 61 S> */ B(Return),
898 ] 820 ]
899 constant pool: [ 821 constant pool: [
900 Smi [57], 822 Smi [57],
901 Smi [56], 823 Smi [56],
902 Smi [58], 824 Smi [58],
903 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 825 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
904 FIXED_ARRAY_TYPE, 826 FIXED_ARRAY_TYPE,
905 Smi [6], 827 Smi [6],
906 Smi [9], 828 Smi [9],
907 ] 829 ]
908 handlers: [ 830 handlers: [
909 [62, 332, 338], 831 [62, 323, 329],
910 [65, 287, 289], 832 [65, 278, 280],
911 ] 833 ]
912 834
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698