| Index: test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
|
| diff --git a/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden b/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
|
| index a9018224c50da4af97dede56c3da9a581810b0fe..e52eef4f7e35ac024725a017c75d2df67c9ff7b6 100644
|
| --- a/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
|
| +++ b/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
|
| @@ -271,55 +271,58 @@ snippet: "
|
| }
|
| f();
|
| "
|
| -frame size: 17
|
| +frame size: 18
|
| parameter count: 1
|
| -bytecode array length: 243
|
| +bytecode array length: 254
|
| bytecodes: [
|
| + B(Mov), R(new_target), R(7),
|
| B(Ldar), R(new_target),
|
| B(JumpIfUndefined), U8(25),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
|
| - B(PushContext), R(8),
|
| - B(ResumeGenerator), R(new_target),
|
| - B(Star), R(7),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(7), U8(1),
|
| + B(PushContext), R(9),
|
| + B(RestoreGeneratorState), R(7),
|
| + B(Star), R(8),
|
| B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
|
| B(LdaSmi), I8(79),
|
| - B(Star), R(9),
|
| - B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1),
|
| + B(Star), R(10),
|
| + B(CallRuntime), U16(Runtime::kAbort), R(10), U8(1),
|
| B(LdaSmi), I8(-2),
|
| - B(Star), R(7),
|
| - B(Mov), R(closure), R(9),
|
| - B(Mov), R(this), R(10),
|
| - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(9), U8(2),
|
| + B(Star), R(8),
|
| + B(Mov), R(closure), R(10),
|
| + B(Mov), R(this), R(11),
|
| + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(10), U8(2),
|
| B(Star), R(3),
|
| /* 11 E> */ B(StackCheck),
|
| - B(Mov), R(context), R(11),
|
| + B(Star), R(7),
|
| + B(Mov), R(context), R(12),
|
| B(LdaZero),
|
| + B(Mov), R(3), R(14),
|
| B(Mov), R(3), R(13),
|
| - B(Mov), R(3), R(12),
|
| - /* 11 E> */ B(SuspendGenerator), R(12), U8(0),
|
| - B(Ldar), R(13),
|
| + /* 11 E> */ B(SuspendGenerator), R(13), R(0), U8(14), U8(0),
|
| + B(Ldar), R(14),
|
| /* 62 S> */ B(Return),
|
| + B(RestoreGeneratorRegisters), R(7), R(0), U8(14),
|
| B(LdaSmi), I8(-2),
|
| - B(Star), R(7),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
|
| - B(Star), R(13),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
|
| + B(Star), R(8),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
|
| B(Star), R(14),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
|
| + B(Star), R(15),
|
| B(LdaZero),
|
| - B(TestEqualStrictNoFeedback), R(14),
|
| + B(TestEqualStrictNoFeedback), R(15),
|
| B(JumpIfTrue), U8(28),
|
| B(LdaSmi), I8(2),
|
| - B(TestEqualStrictNoFeedback), R(14),
|
| + B(TestEqualStrictNoFeedback), R(15),
|
| B(JumpIfTrue), U8(19),
|
| B(LdaTrue),
|
| - B(Star), R(16),
|
| - B(Mov), R(13), R(15),
|
| - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2),
|
| - B(Star), R(10),
|
| + B(Star), R(17),
|
| + B(Mov), R(14), R(16),
|
| + B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16), U8(2),
|
| + B(Star), R(11),
|
| B(LdaZero),
|
| - B(Star), R(9),
|
| + B(Star), R(10),
|
| B(Jump), U8(114),
|
| - B(Ldar), R(13),
|
| + B(Ldar), R(14),
|
| /* 11 E> */ B(Throw),
|
| /* 31 S> */ B(LdaZero),
|
| B(Star), R(2),
|
| @@ -360,43 +363,43 @@ bytecodes: [
|
| B(Jump), U8(5),
|
| B(JumpLoop), U8(68), I8(0),
|
| B(LdaUndefined),
|
| - B(Star), R(12),
|
| - B(LdaTrue),
|
| B(Star), R(13),
|
| - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2),
|
| - B(Star), R(10),
|
| + B(LdaTrue),
|
| + B(Star), R(14),
|
| + B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2),
|
| + B(Star), R(11),
|
| B(LdaZero),
|
| - B(Star), R(9),
|
| + B(Star), R(10),
|
| B(Jump), U8(14),
|
| B(LdaSmi), I8(-1),
|
| - B(Star), R(9),
|
| - B(Jump), U8(8),
|
| B(Star), R(10),
|
| + B(Jump), U8(8),
|
| + B(Star), R(11),
|
| B(LdaSmi), I8(1),
|
| - B(Star), R(9),
|
| + B(Star), R(10),
|
| B(LdaTheHole),
|
| B(SetPendingMessage),
|
| - B(Star), R(11),
|
| + B(Star), R(12),
|
| B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(3), U8(1),
|
| - B(Ldar), R(11),
|
| + B(Ldar), R(12),
|
| B(SetPendingMessage),
|
| - B(Ldar), R(9),
|
| + B(Ldar), R(10),
|
| B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0),
|
| B(Jump), U8(8),
|
| - B(Ldar), R(10),
|
| + B(Ldar), R(11),
|
| /* 62 S> */ B(Return),
|
| - B(Ldar), R(10),
|
| + B(Ldar), R(11),
|
| B(ReThrow),
|
| B(LdaUndefined),
|
| /* 62 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| - Smi [46],
|
| + Smi [50],
|
| Smi [6],
|
| Smi [9],
|
| ]
|
| handlers: [
|
| - [47, 204, 210],
|
| + [52, 215, 221],
|
| ]
|
|
|
| ---
|
| @@ -406,69 +409,72 @@ snippet: "
|
| }
|
| f();
|
| "
|
| -frame size: 16
|
| +frame size: 17
|
| parameter count: 1
|
| -bytecode array length: 352
|
| +bytecode array length: 369
|
| bytecodes: [
|
| + B(Mov), R(new_target), R(6),
|
| B(Ldar), R(new_target),
|
| B(JumpIfUndefined), U8(25),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
|
| - B(PushContext), R(7),
|
| - B(ResumeGenerator), R(new_target),
|
| - B(Star), R(6),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(6), U8(1),
|
| + B(PushContext), R(8),
|
| + B(RestoreGeneratorState), R(6),
|
| + B(Star), R(7),
|
| B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0),
|
| B(LdaSmi), I8(79),
|
| - B(Star), R(8),
|
| - B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1),
|
| + B(Star), R(9),
|
| + B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1),
|
| B(LdaSmi), I8(-2),
|
| - B(Star), R(6),
|
| - B(Mov), R(closure), R(8),
|
| - B(Mov), R(this), R(9),
|
| - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(8), U8(2),
|
| + B(Star), R(7),
|
| + B(Mov), R(closure), R(9),
|
| + B(Mov), R(this), R(10),
|
| + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(9), U8(2),
|
| B(Star), R(2),
|
| /* 11 E> */ B(StackCheck),
|
| - B(Mov), R(context), R(10),
|
| + B(Star), R(6),
|
| + B(Mov), R(context), R(11),
|
| B(LdaZero),
|
| + B(Mov), R(2), R(13),
|
| B(Mov), R(2), R(12),
|
| - B(Mov), R(2), R(11),
|
| - /* 11 E> */ B(SuspendGenerator), R(11), U8(0),
|
| - B(Ldar), R(12),
|
| + /* 11 E> */ B(SuspendGenerator), R(12), R(0), U8(13), U8(0),
|
| + B(Ldar), R(13),
|
| /* 56 S> */ B(Return),
|
| + B(RestoreGeneratorRegisters), R(6), R(0), U8(13),
|
| B(LdaSmi), I8(-2),
|
| - B(Star), R(6),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
|
| - B(Star), R(12),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1),
|
| + B(Star), R(7),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
|
| B(Star), R(13),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
|
| + B(Star), R(14),
|
| B(LdaZero),
|
| - B(TestEqualStrictNoFeedback), R(13),
|
| + B(TestEqualStrictNoFeedback), R(14),
|
| B(JumpIfTrue), U8(28),
|
| B(LdaSmi), I8(2),
|
| - B(TestEqualStrictNoFeedback), R(13),
|
| + B(TestEqualStrictNoFeedback), R(14),
|
| B(JumpIfTrue), U8(19),
|
| B(LdaTrue),
|
| - B(Star), R(15),
|
| - B(Mov), R(12), R(14),
|
| - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(14), U8(2),
|
| - B(Star), R(9),
|
| + B(Star), R(16),
|
| + B(Mov), R(13), R(15),
|
| + B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2),
|
| + B(Star), R(10),
|
| B(LdaZero),
|
| - B(Star), R(8),
|
| - B(Jump), U8(223),
|
| - B(Ldar), R(12),
|
| + B(Star), R(9),
|
| + B(Jump), U8(229),
|
| + B(Ldar), R(13),
|
| /* 11 E> */ B(Throw),
|
| /* 31 S> */ B(LdaZero),
|
| B(Star), R(1),
|
| B(Star), R(3),
|
| B(LdaSmi), I8(1),
|
| B(Star), R(4),
|
| - B(Ldar), R(6),
|
| + B(Ldar), R(7),
|
| B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(1),
|
| B(LdaSmi), I8(-2),
|
| - /* 54 E> */ B(TestEqualStrictNoFeedback), R(6),
|
| + /* 54 E> */ B(TestEqualStrictNoFeedback), R(7),
|
| B(JumpIfTrue), U8(11),
|
| B(LdaSmi), I8(79),
|
| - B(Star), R(11),
|
| - B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1),
|
| + B(Star), R(12),
|
| + B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1),
|
| B(StackCheck),
|
| B(Mov), R(3), R(0),
|
| B(LdaSmi), I8(1),
|
| @@ -486,102 +492,103 @@ bytecodes: [
|
| /* 36 E> */ B(TestLessThan), R(0), U8(5),
|
| B(JumpIfFalse), U8(4),
|
| B(Jump), U8(4),
|
| - B(Jump), U8(124),
|
| - B(Ldar), R(6),
|
| + B(Jump), U8(130),
|
| + B(Ldar), R(7),
|
| B(SwitchOnSmiNoFeedback), U8(3), U8(1), I8(1),
|
| B(LdaSmi), I8(-2),
|
| - B(TestEqualStrictNoFeedback), R(6),
|
| + B(TestEqualStrictNoFeedback), R(7),
|
| B(JumpIfTrue), U8(11),
|
| B(LdaSmi), I8(79),
|
| - B(Star), R(11),
|
| - B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1),
|
| + B(Star), R(12),
|
| + B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1),
|
| B(LdaSmi), I8(1),
|
| B(TestEqual), R(5), U8(6),
|
| - B(JumpIfFalse), U8(84),
|
| + B(JumpIfFalse), U8(90),
|
| /* 18 E> */ B(StackCheck),
|
| /* 47 S> */ B(LdaFalse),
|
| + B(Star), R(14),
|
| + B(Mov), R(0), R(13),
|
| + /* 53 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2),
|
| B(Star), R(13),
|
| - B(Mov), R(0), R(12),
|
| - /* 53 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2),
|
| - B(Star), R(12),
|
| B(LdaSmi), I8(1),
|
| - B(Mov), R(2), R(11),
|
| - B(SuspendGenerator), R(11), U8(0),
|
| - B(Ldar), R(12),
|
| + B(Mov), R(2), R(12),
|
| + B(SuspendGenerator), R(12), R(0), U8(13), U8(0),
|
| + B(Ldar), R(13),
|
| /* 56 S> */ B(Return),
|
| + B(RestoreGeneratorRegisters), R(6), R(0), U8(13),
|
| B(LdaSmi), I8(-2),
|
| - B(Star), R(6),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
|
| - B(Star), R(12),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1),
|
| + B(Star), R(7),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
|
| B(Star), R(13),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
|
| + B(Star), R(14),
|
| B(LdaZero),
|
| - B(TestEqualStrictNoFeedback), R(13),
|
| + B(TestEqualStrictNoFeedback), R(14),
|
| B(JumpIfTrue), U8(28),
|
| B(LdaSmi), I8(2),
|
| - B(TestEqualStrictNoFeedback), R(13),
|
| + B(TestEqualStrictNoFeedback), R(14),
|
| B(JumpIfTrue), U8(19),
|
| B(LdaTrue),
|
| - B(Star), R(15),
|
| - B(Mov), R(12), R(14),
|
| - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(14), U8(2),
|
| - B(Star), R(9),
|
| + B(Star), R(16),
|
| + B(Mov), R(13), R(15),
|
| + B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2),
|
| + B(Star), R(10),
|
| B(LdaZero),
|
| - B(Star), R(8),
|
| + B(Star), R(9),
|
| B(Jump), U8(57),
|
| - B(Ldar), R(12),
|
| + B(Ldar), R(13),
|
| /* 47 E> */ B(Throw),
|
| B(LdaZero),
|
| B(Star), R(5),
|
| B(Mov), R(0), R(3),
|
| B(Ldar), R(0),
|
| - B(JumpLoop), U8(107), I8(1),
|
| + B(JumpLoop), U8(113), I8(1),
|
| B(LdaSmi), I8(1),
|
| /* 54 E> */ B(TestEqual), R(5), U8(7),
|
| B(JumpIfFalse), U8(4),
|
| B(Jump), U8(5),
|
| - B(JumpLoop), U8(177), I8(0),
|
| + B(JumpLoop), U8(183), I8(0),
|
| B(LdaUndefined),
|
| - B(Star), R(11),
|
| - B(LdaTrue),
|
| B(Star), R(12),
|
| - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11), U8(2),
|
| - B(Star), R(9),
|
| + B(LdaTrue),
|
| + B(Star), R(13),
|
| + B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2),
|
| + B(Star), R(10),
|
| B(LdaZero),
|
| - B(Star), R(8),
|
| + B(Star), R(9),
|
| B(Jump), U8(14),
|
| B(LdaSmi), I8(-1),
|
| - B(Star), R(8),
|
| - B(Jump), U8(8),
|
| B(Star), R(9),
|
| + B(Jump), U8(8),
|
| + B(Star), R(10),
|
| B(LdaSmi), I8(1),
|
| - B(Star), R(8),
|
| + B(Star), R(9),
|
| B(LdaTheHole),
|
| B(SetPendingMessage),
|
| - B(Star), R(10),
|
| + B(Star), R(11),
|
| B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(2), U8(1),
|
| - B(Ldar), R(10),
|
| + B(Ldar), R(11),
|
| B(SetPendingMessage),
|
| - B(Ldar), R(8),
|
| + B(Ldar), R(9),
|
| B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0),
|
| B(Jump), U8(8),
|
| - B(Ldar), R(9),
|
| + B(Ldar), R(10),
|
| /* 56 S> */ B(Return),
|
| - B(Ldar), R(9),
|
| + B(Ldar), R(10),
|
| B(ReThrow),
|
| B(LdaUndefined),
|
| /* 56 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| - Smi [46],
|
| - Smi [102],
|
| - Smi [56],
|
| Smi [50],
|
| + Smi [110],
|
| + Smi [56],
|
| + Smi [52],
|
| Smi [6],
|
| Smi [9],
|
| ]
|
| handlers: [
|
| - [47, 313, 319],
|
| + [52, 330, 336],
|
| ]
|
|
|
| ---
|
| @@ -715,46 +722,48 @@ snippet: "
|
| }
|
| f();
|
| "
|
| -frame size: 18
|
| +frame size: 19
|
| parameter count: 1
|
| -bytecode array length: 365
|
| +bytecode array length: 377
|
| bytecodes: [
|
| + B(Mov), R(new_target), R(7),
|
| B(Ldar), R(new_target),
|
| B(JumpIfUndefined), U8(25),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
|
| - B(PushContext), R(8),
|
| - B(ResumeGenerator), R(new_target),
|
| - B(Star), R(7),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(7), U8(1),
|
| + B(PushContext), R(9),
|
| + B(RestoreGeneratorState), R(7),
|
| + B(Star), R(8),
|
| B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
|
| B(LdaSmi), I8(79),
|
| - B(Star), R(9),
|
| - B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1),
|
| + B(Star), R(10),
|
| + B(CallRuntime), U16(Runtime::kAbort), R(10), U8(1),
|
| B(LdaSmi), I8(-2),
|
| - B(Star), R(7),
|
| - B(Mov), R(closure), R(9),
|
| - B(Mov), R(this), R(10),
|
| - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(9), U8(2),
|
| + B(Star), R(8),
|
| + B(Mov), R(closure), R(10),
|
| + B(Mov), R(this), R(11),
|
| + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(10), U8(2),
|
| B(Star), R(2),
|
| /* 16 E> */ B(StackCheck),
|
| B(LdaUndefined),
|
| - B(Star), R(9),
|
| - B(CallJSRuntime), U8(%async_function_promise_create), R(9), U8(1),
|
| + B(Star), R(10),
|
| + B(CallJSRuntime), U8(%async_function_promise_create), R(10), U8(1),
|
| B(Star), R(3),
|
| - B(Mov), R(context), R(11),
|
| B(Mov), R(context), R(12),
|
| + B(Mov), R(2), R(7),
|
| + B(Mov), R(context), R(13),
|
| /* 36 S> */ B(LdaZero),
|
| B(Star), R(1),
|
| B(Star), R(4),
|
| B(LdaSmi), I8(1),
|
| B(Star), R(5),
|
| - B(Ldar), R(7),
|
| + B(Ldar), R(8),
|
| B(SwitchOnSmiNoFeedback), U8(1), U8(1), I8(0),
|
| B(LdaSmi), I8(-2),
|
| - /* 59 E> */ B(TestEqualStrictNoFeedback), R(7),
|
| + /* 59 E> */ B(TestEqualStrictNoFeedback), R(8),
|
| B(JumpIfTrue), U8(11),
|
| B(LdaSmi), I8(79),
|
| - B(Star), R(13),
|
| - B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
|
| + B(Star), R(14),
|
| + B(CallRuntime), U16(Runtime::kAbort), R(14), U8(1),
|
| B(StackCheck),
|
| B(Mov), R(4), R(0),
|
| B(LdaSmi), I8(1),
|
| @@ -772,131 +781,132 @@ bytecodes: [
|
| /* 41 E> */ B(TestLessThan), R(0), U8(5),
|
| B(JumpIfFalse), U8(4),
|
| B(Jump), U8(4),
|
| - B(Jump), U8(130),
|
| - B(Ldar), R(7),
|
| + B(Jump), U8(136),
|
| + B(Ldar), R(8),
|
| B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0),
|
| B(LdaSmi), I8(-2),
|
| - B(TestEqualStrictNoFeedback), R(7),
|
| + B(TestEqualStrictNoFeedback), R(8),
|
| B(JumpIfTrue), U8(11),
|
| B(LdaSmi), I8(79),
|
| - B(Star), R(13),
|
| - B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
|
| + B(Star), R(14),
|
| + B(CallRuntime), U16(Runtime::kAbort), R(14), U8(1),
|
| B(LdaSmi), I8(1),
|
| B(TestEqual), R(6), U8(6),
|
| - B(JumpIfFalse), U8(90),
|
| + B(JumpIfFalse), U8(96),
|
| /* 23 E> */ B(StackCheck),
|
| /* 52 S> */ B(LdaUndefined),
|
| - B(Star), R(14),
|
| - B(Mov), R(2), R(15),
|
| - B(Mov), R(0), R(16),
|
| - B(Mov), R(3), R(17),
|
| - /* 58 E> */ B(CallJSRuntime), U8(%async_function_await_uncaught), R(14), U8(4),
|
| + B(Star), R(15),
|
| + B(Mov), R(2), R(16),
|
| + B(Mov), R(0), R(17),
|
| + B(Mov), R(3), R(18),
|
| + /* 58 E> */ B(CallJSRuntime), U8(%async_function_await_uncaught), R(15), U8(4),
|
| B(LdaZero),
|
| - B(Mov), R(2), R(13),
|
| - B(Mov), R(3), R(14),
|
| - B(SuspendGenerator), R(13), U8(2),
|
| - B(Ldar), R(14),
|
| + B(Mov), R(2), R(14),
|
| + B(Mov), R(3), R(15),
|
| + B(SuspendGenerator), R(14), R(0), U8(15), U8(2),
|
| + B(Ldar), R(15),
|
| /* 61 S> */ B(Return),
|
| + B(RestoreGeneratorRegisters), R(7), R(0), U8(15),
|
| B(LdaSmi), I8(-2),
|
| - B(Star), R(7),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
|
| - B(Star), R(14),
|
| - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
|
| + B(Star), R(8),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(14), U8(1),
|
| B(Star), R(15),
|
| + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(14), U8(1),
|
| + B(Star), R(16),
|
| B(LdaZero),
|
| - B(TestEqualStrictNoFeedback), R(15),
|
| + B(TestEqualStrictNoFeedback), R(16),
|
| B(JumpIfTrue), U8(28),
|
| B(LdaSmi), I8(2),
|
| - B(TestEqualStrictNoFeedback), R(15),
|
| + B(TestEqualStrictNoFeedback), R(16),
|
| B(JumpIfTrue), U8(19),
|
| B(LdaTrue),
|
| - B(Star), R(17),
|
| - B(Mov), R(14), R(16),
|
| - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16), U8(2),
|
| - B(Star), R(10),
|
| + B(Star), R(18),
|
| + B(Mov), R(15), R(17),
|
| + B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17), U8(2),
|
| + B(Star), R(11),
|
| B(LdaZero),
|
| - B(Star), R(9),
|
| + B(Star), R(10),
|
| B(Jump), U8(106),
|
| - B(Ldar), R(14),
|
| + B(Ldar), R(15),
|
| /* 52 E> */ B(ReThrow),
|
| B(LdaZero),
|
| B(Star), R(6),
|
| B(Mov), R(0), R(4),
|
| B(Ldar), R(0),
|
| - B(JumpLoop), U8(113), I8(1),
|
| + B(JumpLoop), U8(119), I8(1),
|
| B(LdaSmi), I8(1),
|
| /* 59 E> */ B(TestEqual), R(6), U8(7),
|
| B(JumpIfFalse), U8(4),
|
| B(Jump), U8(5),
|
| - B(JumpLoop), U8(183), I8(0),
|
| + B(JumpLoop), U8(189), I8(0),
|
| B(LdaUndefined),
|
| - B(Star), R(13),
|
| + B(Star), R(14),
|
| B(LdaUndefined),
|
| - B(Star), R(15),
|
| - B(Mov), R(3), R(14),
|
| - B(CallJSRuntime), U8(%promise_resolve), R(13), U8(3),
|
| + B(Star), R(16),
|
| + B(Mov), R(3), R(15),
|
| + B(CallJSRuntime), U8(%promise_resolve), R(14), U8(3),
|
| B(LdaZero),
|
| - B(Star), R(9),
|
| - B(Mov), R(3), R(10),
|
| + B(Star), R(10),
|
| + B(Mov), R(3), R(11),
|
| B(Jump), U8(59),
|
| B(Jump), U8(45),
|
| - B(Star), R(13),
|
| + B(Star), R(14),
|
| B(Ldar), R(closure),
|
| - B(CreateCatchContext), R(13), U8(3), U8(4),
|
| - B(Star), R(12),
|
| + B(CreateCatchContext), R(14), U8(3), U8(4),
|
| + B(Star), R(13),
|
| B(LdaTheHole),
|
| B(SetPendingMessage),
|
| - B(Ldar), R(12),
|
| - B(PushContext), R(13),
|
| + B(Ldar), R(13),
|
| + B(PushContext), R(14),
|
| B(LdaUndefined),
|
| - B(Star), R(14),
|
| + B(Star), R(15),
|
| B(LdaImmutableCurrentContextSlot), U8(4),
|
| - B(Star), R(16),
|
| - B(LdaFalse),
|
| B(Star), R(17),
|
| - B(Mov), R(3), R(15),
|
| - B(CallJSRuntime), U8(%promise_internal_reject), R(14), U8(4),
|
| - B(PopContext), R(13),
|
| + B(LdaFalse),
|
| + B(Star), R(18),
|
| + B(Mov), R(3), R(16),
|
| + B(CallJSRuntime), U8(%promise_internal_reject), R(15), U8(4),
|
| + B(PopContext), R(14),
|
| B(LdaZero),
|
| - B(Star), R(9),
|
| - B(Mov), R(3), R(10),
|
| + B(Star), R(10),
|
| + B(Mov), R(3), R(11),
|
| B(Jump), U8(14),
|
| B(LdaSmi), I8(-1),
|
| - B(Star), R(9),
|
| - B(Jump), U8(8),
|
| B(Star), R(10),
|
| + B(Jump), U8(8),
|
| + B(Star), R(11),
|
| B(LdaSmi), I8(1),
|
| - B(Star), R(9),
|
| + B(Star), R(10),
|
| B(LdaTheHole),
|
| B(SetPendingMessage),
|
| - B(Star), R(11),
|
| - B(LdaUndefined),
|
| B(Star), R(12),
|
| - B(Mov), R(3), R(13),
|
| - B(CallJSRuntime), U8(%async_function_promise_release), R(12), U8(2),
|
| - B(Ldar), R(11),
|
| + B(LdaUndefined),
|
| + B(Star), R(13),
|
| + B(Mov), R(3), R(14),
|
| + B(CallJSRuntime), U8(%async_function_promise_release), R(13), U8(2),
|
| + B(Ldar), R(12),
|
| B(SetPendingMessage),
|
| - B(Ldar), R(9),
|
| + B(Ldar), R(10),
|
| B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0),
|
| B(Jump), U8(8),
|
| - B(Ldar), R(10),
|
| + B(Ldar), R(11),
|
| /* 61 S> */ B(Return),
|
| - B(Ldar), R(10),
|
| + B(Ldar), R(11),
|
| B(ReThrow),
|
| B(LdaUndefined),
|
| /* 61 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| - Smi [54],
|
| - Smi [56],
|
| + Smi [57],
|
| Smi [56],
|
| + Smi [58],
|
| ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
|
| FIXED_ARRAY_TYPE,
|
| Smi [6],
|
| Smi [9],
|
| ]
|
| handlers: [
|
| - [56, 320, 326],
|
| - [59, 275, 277],
|
| + [62, 332, 338],
|
| + [65, 287, 289],
|
| ]
|
|
|
|
|