| 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 |