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

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

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

Powered by Google App Engine
This is Rietveld 408576698