| 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: 438 | 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(155), | |
| 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(99), | |
| 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(36), | |
| 586 B(LdaSmi), I8(2), | |
| 587 B(TestEqualStrictNoFeedback), R(10), | |
| 588 B(JumpIfTrue), U8(27), | |
| 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(2), | |
| 594 B(PopContext), R(2), | |
| 595 B(PopContext), R(1), | |
| 596 B(PopContext), R(1), | |
| 597 B(Star), R(6), | |
| 598 B(LdaZero), | |
| 599 B(Star), R(5), | |
| 600 B(Jump), U8(72), | |
| 601 B(Ldar), R(9), | 570 B(Ldar), R(9), |
| 602 /* 47 E> */ B(Throw), | |
| 603 B(LdaZero), | |
| 604 B(StaContextSlot), R(1), U8(7), U8(0), | |
| 605 B(LdaCurrentContextSlot), U8(4), | |
| 606 /* 54 E> */ B(StaContextSlot), R(1), U8(5), U8(0), | |
| 607 B(JumpLoop), U8(128), I8(1), | |
| 608 B(LdaContextSlot), R(1), U8(7), U8(0), | |
| 609 B(Star), R(8), | |
| 610 B(LdaSmi), I8(1), | |
| 611 B(TestEqual), R(8), U8(7), | |
| 612 B(JumpIfFalse), U8(6), | |
| 613 B(PopContext), R(2), | |
| 614 B(Jump), U8(7), | |
| 615 B(PopContext), R(2), | |
| 616 B(JumpLoop), U8(236), I8(0), | |
| 617 B(PopContext), R(1), | |
| 618 B(LdaUndefined), | |
| 619 B(Star), R(8), | |
| 620 B(LdaTrue), | |
| 621 B(Star), R(9), | |
| 622 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8),
U8(2), | |
| 623 B(Star), R(6), | |
| 624 B(LdaZero), | |
| 625 B(Star), R(5), | |
| 626 B(Jump), U8(14), | |
| 627 B(LdaSmi), I8(-1), | |
| 628 B(Star), R(5), | |
| 629 B(Jump), U8(8), | |
| 630 B(Star), R(6), | |
| 631 B(LdaSmi), I8(1), | |
| 632 B(Star), R(5), | |
| 633 B(LdaTheHole), | |
| 634 B(SetPendingMessage), | |
| 635 B(Star), R(7), | |
| 636 B(LdaImmutableCurrentContextSlot), U8(4), | |
| 637 B(Star), R(8), | |
| 638 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(8), U8(1), | |
| 639 B(Ldar), R(7), | |
| 640 B(SetPendingMessage), | |
| 641 B(Ldar), R(5), | |
| 642 B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0), | |
| 643 B(Jump), U8(8), | |
| 644 B(Ldar), R(6), | |
| 645 /* 56 S> */ B(Return), | |
| 646 B(Ldar), R(6), | |
| 647 B(ReThrow), | 571 B(ReThrow), |
| 648 B(LdaUndefined), | 572 B(LdaUndefined), |
| 649 /* 56 S> */ B(Return), | 573 /* 56 S> */ B(Return), |
| 650 ] | 574 ] |
| 651 constant pool: [ | 575 constant pool: [ |
| 652 Smi [52], | 576 Smi [46], |
| 653 Smi [123], | 577 Smi [102], |
| 654 FIXED_ARRAY_TYPE, | 578 Smi [56], |
| 655 Smi [84], | 579 Smi [50], |
| 656 FIXED_ARRAY_TYPE, | |
| 657 Smi [60], | |
| 658 Smi [299], | |
| 659 Smi [6], | 580 Smi [6], |
| 660 Smi [9], | 581 Smi [9], |
| 661 ] | 582 ] |
| 662 handlers: [ | 583 handlers: [ |
| 663 [51, 395, 401], | 584 [47, 313, 319], |
| 664 ] | 585 ] |
| 665 | 586 |
| 666 --- | 587 --- |
| 667 snippet: " | 588 snippet: " |
| 668 async function f() { | 589 async function f() { |
| 669 for (let x = 0; x < 10; ++x) { let y = x; } | 590 for (let x = 0; x < 10; ++x) { let y = x; } |
| 670 } | 591 } |
| 671 f(); | 592 f(); |
| 672 " | 593 " |
| 673 frame size: 12 | 594 frame size: 17 |
| 674 parameter count: 1 | 595 parameter count: 1 |
| 675 bytecode array length: 300 | 596 bytecode array length: 209 |
| 676 bytecodes: [ | 597 bytecodes: [ |
| 677 B(CreateFunctionContext), U8(5), | |
| 678 B(PushContext), R(0), | |
| 679 /* 16 E> */ B(StackCheck), | 598 /* 16 E> */ B(StackCheck), |
| 680 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), |
| 681 B(Star), R(4), | 607 B(Star), R(4), |
| 682 B(CallJSRuntime), U8(%async_function_promise_create), R(4), U8(1
), | 608 B(LdaSmi), I8(1), |
| 683 B(StaCurrentContextSlot), U8(8), | 609 B(Star), R(5), |
| 684 B(Mov), R(context), R(6), | 610 /* 65 E> */ B(StackCheck), |
| 685 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(61), |
| 653 B(Jump), U8(47), |
| 654 B(Star), R(13), |
| 686 B(Ldar), R(closure), | 655 B(Ldar), R(closure), |
| 687 B(CreateBlockContext), U8(0), | 656 B(CreateCatchContext), R(13), U8(0), U8(1), |
| 688 B(PushContext), R(1), | 657 B(Star), R(12), |
| 689 B(LdaTheHole), | |
| 690 B(StaCurrentContextSlot), U8(4), | |
| 691 /* 36 S> */ B(LdaZero), | |
| 692 /* 36 E> */ B(StaCurrentContextSlot), U8(4), | |
| 693 B(LdaImmutableCurrentContextSlot), U8(4), | |
| 694 /* 65 E> */ B(StaContextSlot), R(1), U8(5), U8(0), | |
| 695 B(LdaSmi), I8(1), | |
| 696 B(StaContextSlot), R(1), U8(6), U8(0), | |
| 697 B(StackCheck), | |
| 698 B(Ldar), R(closure), | |
| 699 B(CreateBlockContext), U8(1), | |
| 700 B(PushContext), R(2), | |
| 701 B(LdaTheHole), | |
| 702 B(StaCurrentContextSlot), U8(4), | |
| 703 B(LdaContextSlot), R(1), U8(5), U8(0), | |
| 704 B(StaCurrentContextSlot), U8(4), | |
| 705 B(LdaContextSlot), R(1), U8(6), U8(0), | |
| 706 B(Star), R(8), | |
| 707 B(LdaSmi), I8(1), | |
| 708 B(TestEqual), R(8), U8(3), | |
| 709 B(JumpIfFalse), U8(9), | |
| 710 B(LdaZero), | |
| 711 B(StaContextSlot), R(1), U8(6), U8(0), | |
| 712 B(Jump), U8(8), | |
| 713 /* 49 S> */ B(LdaCurrentContextSlot), U8(4), | |
| 714 B(Inc), U8(4), | |
| 715 /* 49 E> */ B(StaCurrentContextSlot), U8(4), | |
| 716 B(LdaSmi), I8(1), | |
| 717 B(StaContextSlot), R(1), U8(7), U8(0), | |
| 718 /* 41 S> */ B(LdaCurrentContextSlot), U8(4), | |
| 719 B(Star), R(8), | |
| 720 B(LdaSmi), I8(10), | |
| 721 /* 41 E> */ B(TestLessThan), R(8), U8(5), | |
| 722 B(JumpIfFalse), U8(4), | |
| 723 B(Jump), U8(6), | |
| 724 B(PopContext), R(2), | |
| 725 B(Jump), U8(69), | |
| 726 B(LdaContextSlot), R(1), U8(7), U8(0), | |
| 727 B(Star), R(8), | |
| 728 B(LdaSmi), I8(1), | |
| 729 B(TestEqual), R(8), U8(6), | |
| 730 B(JumpIfFalse), U8(34), | |
| 731 /* 23 E> */ B(StackCheck), | |
| 732 B(Ldar), R(closure), | |
| 733 B(CreateBlockContext), U8(2), | |
| 734 B(PushContext), R(3), | |
| 735 B(LdaTheHole), | |
| 736 B(StaCurrentContextSlot), U8(4), | |
| 737 /* 62 S> */ B(LdaContextSlot), R(3), U8(4), U8(0), | |
| 738 /* 62 E> */ B(StaCurrentContextSlot), U8(4), | |
| 739 B(PopContext), R(3), | |
| 740 B(LdaZero), | |
| 741 B(StaContextSlot), R(1), U8(7), U8(0), | |
| 742 B(LdaCurrentContextSlot), U8(4), | |
| 743 /* 65 E> */ B(StaContextSlot), R(1), U8(5), U8(0), | |
| 744 B(JumpLoop), U8(42), I8(1), | |
| 745 B(LdaContextSlot), R(1), U8(7), U8(0), | |
| 746 B(Star), R(8), | |
| 747 B(LdaSmi), I8(1), | |
| 748 B(TestEqual), R(8), U8(7), | |
| 749 B(JumpIfFalse), U8(6), | |
| 750 B(PopContext), R(2), | |
| 751 B(Jump), U8(7), | |
| 752 B(PopContext), R(2), | |
| 753 B(JumpLoop), U8(129), I8(0), | |
| 754 B(PopContext), R(1), | |
| 755 B(LdaUndefined), | |
| 756 B(Star), R(8), | |
| 757 B(LdaCurrentContextSlot), U8(8), | |
| 758 B(Star), R(9), | |
| 759 B(LdaUndefined), | |
| 760 B(Star), R(10), | |
| 761 B(CallJSRuntime), U8(%promise_resolve), R(8), U8(3), | |
| 762 B(LdaCurrentContextSlot), U8(8), | |
| 763 B(Star), R(5), | |
| 764 B(LdaZero), | |
| 765 B(Star), R(4), | |
| 766 B(Jump), U8(67), | |
| 767 B(Jump), U8(53), | |
| 768 B(Star), R(8), | |
| 769 B(Ldar), R(closure), | |
| 770 B(CreateCatchContext), R(8), U8(3), U8(4), | |
| 771 B(Star), R(7), | |
| 772 B(LdaTheHole), | 658 B(LdaTheHole), |
| 773 B(SetPendingMessage), | 659 B(SetPendingMessage), |
| 774 B(Ldar), R(7), | 660 B(Ldar), R(12), |
| 775 B(PushContext), R(1), | 661 B(PushContext), R(8), |
| 776 B(LdaUndefined), | 662 B(LdaUndefined), |
| 777 B(Star), R(8), | 663 B(Star), R(13), |
| 778 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(PopContext), R(8), |
| 672 B(LdaZero), |
| 779 B(Star), R(9), | 673 B(Star), R(9), |
| 780 B(LdaImmutableCurrentContextSlot), U8(4), | 674 B(Mov), R(7), R(10), |
| 781 B(Star), R(10), | |
| 782 B(LdaFalse), | |
| 783 B(Star), R(11), | |
| 784 B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4), | |
| 785 B(LdaContextSlot), R(1), U8(8), U8(0), | |
| 786 B(PopContext), R(1), | |
| 787 B(PopContext), R(1), | |
| 788 B(Star), R(5), | |
| 789 B(LdaZero), | |
| 790 B(Star), R(4), | |
| 791 B(Jump), U8(14), | 675 B(Jump), U8(14), |
| 792 B(LdaSmi), I8(-1), | 676 B(LdaSmi), I8(-1), |
| 793 B(Star), R(4), | 677 B(Star), R(9), |
| 794 B(Jump), U8(8), | 678 B(Jump), U8(8), |
| 795 B(Star), R(5), | 679 B(Star), R(10), |
| 796 B(LdaSmi), I8(1), | 680 B(LdaSmi), I8(1), |
| 797 B(Star), R(4), | 681 B(Star), R(9), |
| 798 B(LdaTheHole), | 682 B(LdaTheHole), |
| 799 B(SetPendingMessage), | 683 B(SetPendingMessage), |
| 800 B(Star), R(6), | 684 B(Star), R(11), |
| 801 B(LdaUndefined), | 685 B(LdaUndefined), |
| 802 B(Star), R(7), | 686 B(Star), R(12), |
| 803 B(LdaCurrentContextSlot), U8(8), | 687 B(Mov), R(7), R(13), |
| 804 B(Star), R(8), | 688 B(CallJSRuntime), U8(%async_function_promise_release), R(12), U8
(2), |
| 805 B(CallJSRuntime), U8(%async_function_promise_release), R(7), U8(
2), | 689 B(Ldar), R(11), |
| 806 B(Ldar), R(6), | |
| 807 B(SetPendingMessage), | 690 B(SetPendingMessage), |
| 808 B(Ldar), R(4), | 691 B(Ldar), R(9), |
| 809 B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0), | 692 B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), |
| 810 B(Jump), U8(8), | 693 B(Jump), U8(8), |
| 811 B(Ldar), R(5), | 694 B(Ldar), R(10), |
| 812 /* 67 S> */ B(Return), | 695 /* 67 S> */ B(Return), |
| 813 B(Ldar), R(5), | 696 B(Ldar), R(10), |
| 814 B(ReThrow), | 697 B(ReThrow), |
| 815 B(LdaUndefined), | 698 B(LdaUndefined), |
| 816 /* 67 S> */ B(Return), | 699 /* 67 S> */ B(Return), |
| 817 ] | 700 ] |
| 818 constant pool: [ | 701 constant pool: [ |
| 819 FIXED_ARRAY_TYPE, | |
| 820 FIXED_ARRAY_TYPE, | |
| 821 FIXED_ARRAY_TYPE, | |
| 822 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | 702 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
| 823 FIXED_ARRAY_TYPE, | 703 FIXED_ARRAY_TYPE, |
| 824 Smi [6], | 704 Smi [6], |
| 825 Smi [9], | 705 Smi [9], |
| 826 ] | 706 ] |
| 827 handlers: [ | 707 handlers: [ |
| 828 [17, 254, 260], | 708 [13, 164, 170], |
| 829 [20, 201, 203], | 709 [16, 117, 119], |
| 830 ] | 710 ] |
| 831 | 711 |
| 832 --- | 712 --- |
| 833 snippet: " | 713 snippet: " |
| 834 async function f() { | 714 async function f() { |
| 835 for (let x = 0; x < 10; ++x) await x; | 715 for (let x = 0; x < 10; ++x) await x; |
| 836 } | 716 } |
| 837 f(); | 717 f(); |
| 838 " | 718 " |
| 839 frame size: 14 | 719 frame size: 20 |
| 840 parameter count: 1 | 720 parameter count: 1 |
| 841 bytecode array length: 480 | 721 bytecode array length: 371 |
| 842 bytecodes: [ | 722 bytecodes: [ |
| 843 B(Ldar), R(new_target), | 723 B(Ldar), R(new_target), |
| 844 B(JumpIfUndefined), U8(25), | 724 B(JumpIfUndefined), U8(25), |
| 845 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta
rget), U8(1), | 725 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta
rget), U8(1), |
| 846 B(PushContext), R(4), | 726 B(PushContext), R(10), |
| 847 B(ResumeGenerator), R(new_target), | 727 B(ResumeGenerator), R(new_target), |
| 848 B(Star), R(3), | 728 B(Star), R(9), |
| 849 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), | 729 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), |
| 850 B(LdaSmi), I8(79), | 730 B(LdaSmi), I8(79), |
| 851 B(Star), R(5), | 731 B(Star), R(11), |
| 852 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), | 732 B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1), |
| 853 B(LdaSmi), I8(-2), | 733 B(LdaSmi), I8(-2), |
| 854 B(Star), R(3), | 734 B(Star), R(9), |
| 855 B(CreateFunctionContext), U8(6), | 735 B(Mov), R(closure), R(11), |
| 856 B(PushContext), R(0), | 736 B(Mov), R(this), R(12), |
| 857 B(Mov), R(closure), R(5), | 737 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(11
), U8(2), |
| 858 B(Mov), R(this), R(6), | 738 B(Star), R(2), |
| 859 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5)
, U8(2), | |
| 860 B(StaCurrentContextSlot), U8(4), | |
| 861 /* 16 E> */ B(StackCheck), | 739 /* 16 E> */ B(StackCheck), |
| 862 B(LdaUndefined), | 740 B(LdaUndefined), |
| 741 B(Star), R(11), |
| 742 B(CallJSRuntime), U8(%async_function_promise_create), R(11), U8(
1), |
| 743 B(Star), R(4), |
| 744 B(Mov), R(context), R(13), |
| 745 B(Mov), R(context), R(14), |
| 746 /* 36 S> */ B(LdaZero), |
| 747 B(Star), R(1), |
| 863 B(Star), R(5), | 748 B(Star), R(5), |
| 864 B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1
), | |
| 865 B(StaCurrentContextSlot), U8(6), | |
| 866 B(Mov), R(context), R(7), | |
| 867 B(Mov), R(context), R(8), | |
| 868 B(Ldar), R(closure), | |
| 869 B(CreateBlockContext), U8(1), | |
| 870 B(PushContext), R(1), | |
| 871 B(LdaTheHole), | |
| 872 B(StaCurrentContextSlot), U8(4), | |
| 873 /* 36 S> */ B(LdaZero), | |
| 874 /* 36 E> */ B(StaCurrentContextSlot), U8(4), | |
| 875 B(LdaImmutableCurrentContextSlot), U8(4), | |
| 876 /* 59 E> */ B(StaContextSlot), R(1), U8(7), U8(0), | |
| 877 B(LdaSmi), I8(1), | 749 B(LdaSmi), I8(1), |
| 878 B(StaContextSlot), R(1), U8(8), U8(0), | 750 B(Star), R(6), |
| 879 B(Ldar), R(3), | 751 B(Ldar), R(9), |
| 752 B(SwitchOnSmiNoFeedback), U8(1), U8(1), I8(0), |
| 753 B(LdaSmi), I8(-2), |
| 754 /* 59 E> */ B(TestEqualStrictNoFeedback), R(9), |
| 755 B(JumpIfTrue), U8(11), |
| 756 B(LdaSmi), I8(79), |
| 757 B(Star), R(15), |
| 758 B(CallRuntime), U16(Runtime::kAbort), R(15), U8(1), |
| 759 B(StackCheck), |
| 760 B(Mov), R(5), R(0), |
| 761 B(LdaSmi), I8(1), |
| 762 B(TestEqual), R(6), U8(3), |
| 763 B(JumpIfFalse), U8(7), |
| 764 B(LdaZero), |
| 765 B(Star), R(6), |
| 766 B(Jump), U8(8), |
| 767 /* 49 S> */ B(Ldar), R(0), |
| 768 B(Inc), U8(4), |
| 769 B(Star), R(0), |
| 770 B(LdaSmi), I8(1), |
| 771 B(Star), R(7), |
| 772 /* 41 S> */ B(LdaSmi), I8(10), |
| 773 /* 41 E> */ B(TestLessThan), R(0), U8(5), |
| 774 B(JumpIfFalse), U8(4), |
| 775 B(Jump), U8(4), |
| 776 B(Jump), U8(134), |
| 777 B(Ldar), R(9), |
| 880 B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0), | 778 B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0), |
| 881 B(LdaSmi), I8(-2), | 779 B(LdaSmi), I8(-2), |
| 882 B(TestEqualStrictNoFeedback), R(3), | 780 B(TestEqualStrictNoFeedback), R(9), |
| 883 B(JumpIfTrue), U8(11), | 781 B(JumpIfTrue), U8(11), |
| 884 B(LdaSmi), I8(79), | 782 B(LdaSmi), I8(79), |
| 885 B(Star), R(9), | 783 B(Star), R(15), |
| 886 B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1), | 784 B(CallRuntime), U16(Runtime::kAbort), R(15), U8(1), |
| 887 B(StackCheck), | |
| 888 B(Ldar), R(closure), | |
| 889 B(CreateBlockContext), U8(3), | |
| 890 B(PushContext), R(2), | |
| 891 B(LdaTheHole), | |
| 892 B(StaCurrentContextSlot), U8(4), | |
| 893 B(LdaContextSlot), R(1), U8(7), U8(0), | |
| 894 B(StaCurrentContextSlot), U8(4), | |
| 895 B(LdaContextSlot), R(1), U8(8), U8(0), | |
| 896 B(Star), R(9), | |
| 897 B(LdaSmi), I8(1), | 785 B(LdaSmi), I8(1), |
| 898 B(TestEqual), R(9), U8(3), | 786 B(TestEqual), R(7), U8(6), |
| 899 B(JumpIfFalse), U8(9), | 787 B(JumpIfFalse), U8(94), |
| 788 /* 23 E> */ B(StackCheck), |
| 789 /* 52 S> */ B(Nop), |
| 790 /* 58 S> */ B(Mov), R(0), R(3), |
| 791 /* 52 S> */ B(LdaUndefined), |
| 792 B(Star), R(16), |
| 793 B(Mov), R(2), R(17), |
| 794 B(Mov), R(0), R(18), |
| 795 B(Mov), R(4), R(19), |
| 796 B(CallJSRuntime), U8(%async_function_await_uncaught), R(16), U8(
4), |
| 900 B(LdaZero), | 797 B(LdaZero), |
| 901 B(StaContextSlot), R(1), U8(8), U8(0), | 798 B(Mov), R(2), R(15), |
| 902 B(Jump), U8(8), | 799 B(Mov), R(4), R(16), |
| 903 /* 49 S> */ B(LdaCurrentContextSlot), U8(4), | 800 B(SuspendGenerator), R(15), U8(2), |
| 904 B(Inc), U8(4), | 801 B(Ldar), R(16), |
| 905 /* 49 E> */ B(StaCurrentContextSlot), U8(4), | |
| 906 B(LdaSmi), I8(1), | |
| 907 B(StaContextSlot), R(1), U8(9), U8(0), | |
| 908 /* 41 S> */ B(LdaCurrentContextSlot), U8(4), | |
| 909 B(Star), R(9), | |
| 910 B(LdaSmi), I8(10), | |
| 911 /* 41 E> */ B(TestLessThan), R(9), U8(5), | |
| 912 B(JumpIfFalse), U8(4), | |
| 913 B(Jump), U8(6), | |
| 914 B(PopContext), R(2), | |
| 915 B(Jump), U8(185), | |
| 916 B(Ldar), R(3), | |
| 917 B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(0), | |
| 918 B(LdaSmi), I8(-2), | |
| 919 B(TestEqualStrictNoFeedback), R(3), | |
| 920 B(JumpIfTrue), U8(11), | |
| 921 B(LdaSmi), I8(79), | |
| 922 B(Star), R(9), | |
| 923 B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1), | |
| 924 B(LdaContextSlot), R(1), U8(9), U8(0), | |
| 925 B(Star), R(9), | |
| 926 B(LdaSmi), I8(1), | |
| 927 B(TestEqual), R(9), U8(6), | |
| 928 B(JumpIfFalse), U8(126), | |
| 929 /* 23 E> */ B(StackCheck), | |
| 930 /* 52 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0), | |
| 931 B(Star), R(9), | |
| 932 /* 58 S> */ B(LdaCurrentContextSlot), U8(4), | |
| 933 B(StaContextSlot), R(1), U8(5), U8(0), | |
| 934 /* 52 S> */ B(LdaUndefined), | |
| 935 B(Star), R(10), | |
| 936 B(LdaImmutableContextSlot), R(1), U8(4), U8(0), | |
| 937 B(Star), R(11), | |
| 938 B(LdaContextSlot), R(1), U8(5), U8(0), | |
| 939 B(Star), R(12), | |
| 940 B(LdaContextSlot), R(1), U8(6), U8(0), | |
| 941 B(Star), R(13), | |
| 942 B(CallJSRuntime), U8(%async_function_await_uncaught), R(10), U8(
4), | |
| 943 B(LdaContextSlot), R(1), U8(6), U8(0), | |
| 944 B(Star), R(10), | |
| 945 B(LdaZero), | |
| 946 B(SuspendGenerator), R(9), U8(2), | |
| 947 B(Ldar), R(10), | |
| 948 /* 61 S> */ B(Return), | 802 /* 61 S> */ B(Return), |
| 949 B(LdaSmi), I8(-2), | 803 B(LdaSmi), I8(-2), |
| 950 B(Star), R(3), | 804 B(Star), R(9), |
| 951 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos),
R(9), U8(1), | 805 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos),
R(15), U8(1), |
| 952 B(Star), R(10), | 806 B(Star), R(16), |
| 953 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9),
U8(1), | 807 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(15)
, U8(1), |
| 808 B(Star), R(17), |
| 809 B(LdaZero), |
| 810 B(TestEqualStrictNoFeedback), R(17), |
| 811 B(JumpIfTrue), U8(28), |
| 812 B(LdaSmi), I8(2), |
| 813 B(TestEqualStrictNoFeedback), R(17), |
| 814 B(JumpIfTrue), U8(19), |
| 815 B(LdaTrue), |
| 816 B(Star), R(19), |
| 817 B(Mov), R(16), R(18), |
| 818 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(18)
, U8(2), |
| 819 B(Star), R(12), |
| 820 B(LdaZero), |
| 954 B(Star), R(11), | 821 B(Star), R(11), |
| 955 B(LdaZero), | 822 B(Jump), U8(108), |
| 956 B(TestEqualStrictNoFeedback), R(11), | 823 B(Ldar), R(16), |
| 957 B(JumpIfTrue), U8(40), | |
| 958 B(LdaSmi), I8(2), | |
| 959 B(TestEqualStrictNoFeedback), R(11), | |
| 960 B(JumpIfTrue), U8(31), | |
| 961 B(LdaTrue), | |
| 962 B(Star), R(13), | |
| 963 B(Mov), R(10), R(12), | |
| 964 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12)
, U8(2), | |
| 965 B(PopContext), R(2), | |
| 966 B(PopContext), R(2), | |
| 967 B(PopContext), R(1), | |
| 968 B(PopContext), R(1), | |
| 969 B(PopContext), R(1), | |
| 970 B(PopContext), R(1), | |
| 971 B(Star), R(6), | |
| 972 B(LdaZero), | |
| 973 B(Star), R(5), | |
| 974 B(Jump), U8(134), | |
| 975 B(Ldar), R(10), | |
| 976 B(ReThrow), | 824 B(ReThrow), |
| 977 B(LdaZero), | 825 B(LdaZero), |
| 978 B(StaContextSlot), R(1), U8(9), U8(0), | 826 B(Star), R(7), |
| 979 B(LdaCurrentContextSlot), U8(4), | 827 B(Mov), R(0), R(5), |
| 980 /* 59 E> */ B(StaContextSlot), R(1), U8(7), U8(0), | 828 B(Ldar), R(0), |
| 981 B(JumpLoop), U8(155), I8(1), | 829 B(JumpLoop), U8(117), I8(1), |
| 982 B(LdaContextSlot), R(1), U8(9), U8(0), | |
| 983 B(Star), R(9), | |
| 984 B(LdaSmi), I8(1), | 830 B(LdaSmi), I8(1), |
| 985 B(TestEqual), R(9), U8(7), | 831 /* 59 E> */ B(TestEqual), R(7), U8(7), |
| 986 B(JumpIfFalse), U8(6), | 832 B(JumpIfFalse), U8(4), |
| 987 B(PopContext), R(2), | 833 B(Jump), U8(5), |
| 988 B(Jump), U8(10), | 834 B(JumpLoop), U8(187), I8(0), |
| 989 B(PopContext), R(2), | |
| 990 B(Wide), B(JumpLoop), U16(264), I16(0), | |
| 991 B(PopContext), R(1), | |
| 992 B(LdaUndefined), | 835 B(LdaUndefined), |
| 993 B(Star), R(9), | 836 B(Star), R(15), |
| 994 B(LdaCurrentContextSlot), U8(6), | |
| 995 B(Star), R(10), | |
| 996 B(LdaUndefined), | 837 B(LdaUndefined), |
| 838 B(Star), R(17), |
| 839 B(Mov), R(4), R(16), |
| 840 B(CallJSRuntime), U8(%promise_resolve), R(15), U8(3), |
| 841 B(LdaZero), |
| 997 B(Star), R(11), | 842 B(Star), R(11), |
| 998 B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3), | 843 B(Mov), R(4), R(12), |
| 999 B(LdaCurrentContextSlot), U8(6), | 844 B(Jump), U8(61), |
| 1000 B(Star), R(6), | 845 B(Jump), U8(47), |
| 1001 B(LdaZero), | 846 B(Star), R(15), |
| 1002 B(Star), R(5), | |
| 1003 B(Jump), U8(67), | |
| 1004 B(Jump), U8(53), | |
| 1005 B(Star), R(9), | |
| 1006 B(Ldar), R(closure), | 847 B(Ldar), R(closure), |
| 1007 B(CreateCatchContext), R(9), U8(5), U8(6), | 848 B(CreateCatchContext), R(15), U8(3), U8(4), |
| 1008 B(Star), R(8), | 849 B(Star), R(14), |
| 1009 B(LdaTheHole), | 850 B(LdaTheHole), |
| 1010 B(SetPendingMessage), | 851 B(SetPendingMessage), |
| 1011 B(Ldar), R(8), | 852 B(Ldar), R(14), |
| 1012 B(PushContext), R(1), | 853 B(PushContext), R(8), |
| 1013 B(LdaUndefined), | 854 B(LdaUndefined), |
| 1014 B(Star), R(9), | 855 B(Star), R(15), |
| 1015 B(LdaContextSlot), R(1), U8(6), U8(0), | |
| 1016 B(Star), R(10), | |
| 1017 B(LdaImmutableCurrentContextSlot), U8(4), | 856 B(LdaImmutableCurrentContextSlot), U8(4), |
| 857 B(Star), R(17), |
| 858 B(LdaFalse), |
| 859 B(Star), R(18), |
| 860 B(Mov), R(4), R(16), |
| 861 B(CallJSRuntime), U8(%promise_internal_reject), R(15), U8(4), |
| 862 B(PopContext), R(8), |
| 863 B(PopContext), R(8), |
| 864 B(LdaZero), |
| 1018 B(Star), R(11), | 865 B(Star), R(11), |
| 1019 B(LdaFalse), | 866 B(Mov), R(4), R(12), |
| 1020 B(Star), R(12), | |
| 1021 B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4), | |
| 1022 B(LdaContextSlot), R(1), U8(6), U8(0), | |
| 1023 B(PopContext), R(1), | |
| 1024 B(PopContext), R(1), | |
| 1025 B(Star), R(6), | |
| 1026 B(LdaZero), | |
| 1027 B(Star), R(5), | |
| 1028 B(Jump), U8(14), | 867 B(Jump), U8(14), |
| 1029 B(LdaSmi), I8(-1), | 868 B(LdaSmi), I8(-1), |
| 1030 B(Star), R(5), | 869 B(Star), R(11), |
| 1031 B(Jump), U8(8), | 870 B(Jump), U8(8), |
| 1032 B(Star), R(6), | 871 B(Star), R(12), |
| 1033 B(LdaSmi), I8(1), | 872 B(LdaSmi), I8(1), |
| 1034 B(Star), R(5), | 873 B(Star), R(11), |
| 1035 B(LdaTheHole), | 874 B(LdaTheHole), |
| 1036 B(SetPendingMessage), | 875 B(SetPendingMessage), |
| 1037 B(Star), R(7), | 876 B(Star), R(13), |
| 1038 B(LdaUndefined), | 877 B(LdaUndefined), |
| 1039 B(Star), R(8), | 878 B(Star), R(14), |
| 1040 B(LdaCurrentContextSlot), U8(6), | 879 B(Mov), R(4), R(15), |
| 1041 B(Star), R(9), | 880 B(CallJSRuntime), U8(%async_function_promise_release), R(14), U8
(2), |
| 1042 B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(
2), | 881 B(Ldar), R(13), |
| 1043 B(Ldar), R(7), | |
| 1044 B(SetPendingMessage), | 882 B(SetPendingMessage), |
| 1045 B(Ldar), R(5), | 883 B(Ldar), R(11), |
| 1046 B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0), | 884 B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0), |
| 1047 B(Jump), U8(8), | 885 B(Jump), U8(8), |
| 1048 B(Ldar), R(6), | 886 B(Ldar), R(12), |
| 1049 /* 61 S> */ B(Return), | 887 /* 61 S> */ B(Return), |
| 1050 B(Ldar), R(6), | 888 B(Ldar), R(12), |
| 1051 B(ReThrow), | 889 B(ReThrow), |
| 1052 B(LdaUndefined), | 890 B(LdaUndefined), |
| 1053 /* 61 S> */ B(Return), | 891 /* 61 S> */ B(Return), |
| 1054 ] | 892 ] |
| 1055 constant pool: [ | 893 constant pool: [ |
| 1056 Smi [73], | 894 Smi [54], |
| 1057 FIXED_ARRAY_TYPE, | 895 Smi [56], |
| 1058 Smi [84], | 896 Smi [60], |
| 1059 FIXED_ARRAY_TYPE, | |
| 1060 Smi [83], | |
| 1061 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | 897 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
| 1062 FIXED_ARRAY_TYPE, | 898 FIXED_ARRAY_TYPE, |
| 1063 Smi [6], | 899 Smi [6], |
| 1064 Smi [9], | 900 Smi [9], |
| 1065 ] | 901 ] |
| 1066 handlers: [ | 902 handlers: [ |
| 1067 [60, 434, 440], | 903 [56, 326, 332], |
| 1068 [63, 381, 383], | 904 [59, 279, 281], |
| 1069 ] | 905 ] |
| 1070 | 906 |
| OLD | NEW |