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

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

Powered by Google App Engine
This is Rietveld 408576698