| Index: test/cctest/interpreter/bytecode_expectations/Generators.golden
|
| diff --git a/test/cctest/interpreter/bytecode_expectations/Generators.golden b/test/cctest/interpreter/bytecode_expectations/Generators.golden
|
| index 38b877506f2baaa37a94b3d52fdbc663fbf156e8..bdd008208f2e0fbb6b536c647c07ffe9e1339e9a 100644
|
| --- a/test/cctest/interpreter/bytecode_expectations/Generators.golden
|
| +++ b/test/cctest/interpreter/bytecode_expectations/Generators.golden
|
| @@ -13,7 +13,7 @@ snippet: "
|
| "
|
| frame size: 11
|
| parameter count: 1
|
| -bytecode array length: 202
|
| +bytecode array length: 204
|
| bytecodes: [
|
| B(Ldar), R(new_target),
|
| B(JumpIfUndefined), U8(21),
|
| @@ -33,13 +33,14 @@ bytecodes: [
|
| B(StaCurrentContextSlot), U8(4),
|
| /* 11 E> */ B(StackCheck),
|
| B(Mov), R(context), R(4),
|
| - /* 11 E> */ B(LdrCurrentContextSlot), U8(4), R(6),
|
| - B(Ldar), R(6),
|
| + B(LdaCurrentContextSlot), U8(4),
|
| + B(Star), R(6),
|
| B(Mov), R(closure), R(5),
|
| - B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2),
|
| + /* 11 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2),
|
| B(StaCurrentContextSlot), U8(5),
|
| B(Star), R(5),
|
| - B(LdrCurrentContextSlot), U8(5), R(6),
|
| + B(LdaCurrentContextSlot), U8(5),
|
| + B(Star), R(6),
|
| B(LdaZero),
|
| B(SuspendGenerator), R(6),
|
| B(Ldar), R(5),
|
| @@ -64,10 +65,11 @@ bytecodes: [
|
| B(Star), R(3),
|
| B(LdaZero),
|
| B(Star), R(2),
|
| - B(Jump), U8(35),
|
| + B(Jump), U8(36),
|
| B(Ldar), R(7),
|
| /* 11 E> */ B(Throw),
|
| - B(LdrUndefined), R(5),
|
| + B(LdaUndefined),
|
| + B(Star), R(5),
|
| B(LdaTrue),
|
| B(Star), R(6),
|
| B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(5), U8(2),
|
| @@ -83,7 +85,8 @@ bytecodes: [
|
| B(Star), R(2),
|
| B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
|
| B(Star), R(4),
|
| - B(LdrCurrentContextSlot), U8(5), R(5),
|
| + B(LdaCurrentContextSlot), U8(5),
|
| + B(Star), R(5),
|
| B(CallRuntime), U16(Runtime::k_GeneratorClose), R(5), U8(1),
|
| B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(4), U8(1),
|
| B(LdaZero),
|
| @@ -108,7 +111,7 @@ bytecodes: [
|
| constant pool: [
|
| ]
|
| handlers: [
|
| - [39, 137, 143],
|
| + [39, 138, 144],
|
| ]
|
|
|
| ---
|
| @@ -118,7 +121,7 @@ snippet: "
|
| "
|
| frame size: 11
|
| parameter count: 1
|
| -bytecode array length: 298
|
| +bytecode array length: 301
|
| bytecodes: [
|
| B(Ldar), R(new_target),
|
| B(JumpIfUndefined), U8(28),
|
| @@ -141,13 +144,14 @@ bytecodes: [
|
| B(StaCurrentContextSlot), U8(4),
|
| /* 11 E> */ B(StackCheck),
|
| B(Mov), R(context), R(4),
|
| - /* 11 E> */ B(LdrCurrentContextSlot), U8(4), R(6),
|
| - B(Ldar), R(6),
|
| + B(LdaCurrentContextSlot), U8(4),
|
| + B(Star), R(6),
|
| B(Mov), R(closure), R(5),
|
| - B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2),
|
| + /* 11 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2),
|
| B(StaCurrentContextSlot), U8(5),
|
| B(Star), R(5),
|
| - B(LdrCurrentContextSlot), U8(5), R(6),
|
| + B(LdaCurrentContextSlot), U8(5),
|
| + B(Star), R(6),
|
| B(LdaZero),
|
| B(SuspendGenerator), R(6),
|
| B(Ldar), R(5),
|
| @@ -172,7 +176,7 @@ bytecodes: [
|
| B(Star), R(3),
|
| B(LdaZero),
|
| B(Star), R(2),
|
| - B(Jump), U8(114),
|
| + B(Jump), U8(116),
|
| B(Ldar), R(7),
|
| /* 11 E> */ B(Throw),
|
| /* 16 S> */ B(LdaSmi), U8(42),
|
| @@ -181,7 +185,8 @@ bytecodes: [
|
| B(Star), R(6),
|
| B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(5), U8(2),
|
| B(Star), R(5),
|
| - B(LdrCurrentContextSlot), U8(5), R(6),
|
| + B(LdaCurrentContextSlot), U8(5),
|
| + B(Star), R(6),
|
| B(LdaSmi), U8(1),
|
| B(SuspendGenerator), R(6),
|
| B(Ldar), R(5),
|
| @@ -206,10 +211,11 @@ bytecodes: [
|
| B(Star), R(3),
|
| B(LdaSmi), U8(1),
|
| B(Star), R(2),
|
| - B(Jump), U8(35),
|
| + B(Jump), U8(36),
|
| B(Ldar), R(7),
|
| /* 16 E> */ B(Throw),
|
| - B(LdrUndefined), R(5),
|
| + B(LdaUndefined),
|
| + B(Star), R(5),
|
| B(LdaTrue),
|
| B(Star), R(6),
|
| B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(5), U8(2),
|
| @@ -225,7 +231,8 @@ bytecodes: [
|
| B(Star), R(2),
|
| B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
|
| B(Star), R(4),
|
| - B(LdrCurrentContextSlot), U8(5), R(5),
|
| + B(LdaCurrentContextSlot), U8(5),
|
| + B(Star), R(5),
|
| B(CallRuntime), U16(Runtime::k_GeneratorClose), R(5), U8(1),
|
| B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(4), U8(1),
|
| B(LdaZero),
|
| @@ -253,10 +260,10 @@ bytecodes: [
|
| /* 25 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| - Smi [131],
|
| + Smi [132],
|
| ]
|
| handlers: [
|
| - [46, 223, 229],
|
| + [46, 225, 231],
|
| ]
|
|
|
| ---
|
| @@ -266,7 +273,7 @@ snippet: "
|
| "
|
| frame size: 18
|
| parameter count: 1
|
| -bytecode array length: 775
|
| +bytecode array length: 796
|
| bytecodes: [
|
| B(Ldar), R(new_target),
|
| B(JumpIfUndefined), U8(28),
|
| @@ -289,13 +296,14 @@ bytecodes: [
|
| B(StaCurrentContextSlot), U8(4),
|
| /* 11 E> */ B(StackCheck),
|
| B(Mov), R(context), R(7),
|
| - /* 11 E> */ B(LdrCurrentContextSlot), U8(4), R(9),
|
| - B(Ldar), R(9),
|
| + B(LdaCurrentContextSlot), U8(4),
|
| + B(Star), R(9),
|
| B(Mov), R(closure), R(8),
|
| - B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(8), U8(2),
|
| + /* 11 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(8), U8(2),
|
| B(StaCurrentContextSlot), U8(5),
|
| B(Star), R(8),
|
| - B(LdrCurrentContextSlot), U8(5), R(9),
|
| + B(LdaCurrentContextSlot), U8(5),
|
| + B(Star), R(9),
|
| B(LdaZero),
|
| B(SuspendGenerator), R(9),
|
| B(Ldar), R(8),
|
| @@ -320,7 +328,7 @@ bytecodes: [
|
| B(Star), R(6),
|
| B(LdaZero),
|
| B(Star), R(5),
|
| - B(JumpConstant), U8(17),
|
| + B(JumpConstant), U8(19),
|
| B(Ldar), R(10),
|
| /* 11 E> */ B(Throw),
|
| B(Ldar), R(closure),
|
| @@ -348,7 +356,8 @@ bytecodes: [
|
| B(LdaSmi), U8(76),
|
| B(Star), R(12),
|
| B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1),
|
| - /* 27 S> */ B(LdrContextSlot), R(1), U8(7), U8(0), R(14),
|
| + /* 27 S> */ B(LdaContextSlot), R(1), U8(7), U8(0),
|
| + B(Star), R(14),
|
| B(LdaNamedProperty), R(14), U8(4), U8(8),
|
| B(Star), R(13),
|
| /* 27 E> */ B(CallProperty), R(13), R(14), U8(1), U8(6),
|
| @@ -356,13 +365,16 @@ bytecodes: [
|
| B(Star), R(12),
|
| B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1),
|
| B(ToBooleanLogicalNot),
|
| - B(JumpIfFalse), U8(12),
|
| - B(LdrContextSlot), R(1), U8(8), U8(0), R(12),
|
| + B(JumpIfFalse), U8(13),
|
| + B(LdaContextSlot), R(1), U8(8), U8(0),
|
| + B(Star), R(12),
|
| B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
|
| - B(LdrContextSlot), R(1), U8(8), U8(0), R(12),
|
| + B(LdaContextSlot), R(1), U8(8), U8(0),
|
| + B(Star), R(12),
|
| B(LdaNamedProperty), R(12), U8(5), U8(10),
|
| - B(JumpIfToBooleanTrueConstant), U8(3),
|
| - B(LdrContextSlot), R(1), U8(8), U8(0), R(12),
|
| + B(JumpIfToBooleanTrueConstant), U8(9),
|
| + B(LdaContextSlot), R(1), U8(8), U8(0),
|
| + B(Star), R(12),
|
| B(LdaNamedProperty), R(12), U8(6), U8(12),
|
| B(StaContextSlot), R(1), U8(10), U8(0),
|
| B(LdaSmi), U8(2),
|
| @@ -377,12 +389,14 @@ bytecodes: [
|
| B(StaCurrentContextSlot), U8(4),
|
| B(LdaContextSlot), R(1), U8(6), U8(0),
|
| B(StaCurrentContextSlot), U8(4),
|
| - /* 36 S> */ B(LdrCurrentContextSlot), U8(4), R(12),
|
| + /* 36 S> */ B(LdaCurrentContextSlot), U8(4),
|
| + B(Star), R(12),
|
| B(LdaFalse),
|
| B(Star), R(13),
|
| B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(12), U8(2),
|
| B(Star), R(12),
|
| - B(LdrContextSlot), R(1), U8(5), U8(0), R(13),
|
| + B(LdaContextSlot), R(1), U8(5), U8(0),
|
| + B(Star), R(13),
|
| B(LdaSmi), U8(1),
|
| B(SuspendGenerator), R(13),
|
| B(Ldar), R(12),
|
| @@ -413,26 +427,28 @@ bytecodes: [
|
| B(Star), R(9),
|
| B(LdaZero),
|
| B(Star), R(8),
|
| - B(Jump), U8(72),
|
| + B(Jump), U8(74),
|
| B(Ldar), R(14),
|
| /* 36 E> */ B(Throw),
|
| B(PopContext), R(2),
|
| B(LdaZero),
|
| B(StaContextSlot), R(1), U8(9), U8(0),
|
| - B(Wide), B(JumpLoop), U16(-215), U16(0),
|
| - B(Jump), U8(42),
|
| + B(Wide), B(JumpLoop), U16(-221), U16(0),
|
| + B(Jump), U8(44),
|
| B(Star), R(12),
|
| B(Ldar), R(closure),
|
| - B(CreateCatchContext), R(12), U8(9), U8(10),
|
| + B(CreateCatchContext), R(12), U8(10), U8(11),
|
| B(Star), R(11),
|
| B(PushContext), R(2),
|
| - B(LdrContextSlot), R(0), U8(9), U8(0), R(12),
|
| + B(LdaContextSlot), R(0), U8(9), U8(0),
|
| + B(Star), R(12),
|
| B(LdaSmi), U8(2),
|
| B(TestEqualStrict), R(12), U8(14),
|
| B(JumpIfFalse), U8(8),
|
| B(LdaSmi), U8(1),
|
| B(StaContextSlot), R(0), U8(9), U8(0),
|
| - B(LdrCurrentContextSlot), U8(4), R(12),
|
| + B(LdaCurrentContextSlot), U8(4),
|
| + B(Star), R(12),
|
| B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
|
| B(PopContext), R(2),
|
| B(LdaSmi), U8(-1),
|
| @@ -443,62 +459,73 @@ bytecodes: [
|
| B(Star), R(8),
|
| B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
|
| B(Star), R(10),
|
| - B(LdrContextSlot), R(1), U8(9), U8(0), R(11),
|
| + B(LdaContextSlot), R(1), U8(9), U8(0),
|
| + B(Star), R(11),
|
| B(LdaZero),
|
| B(TestEqualStrict), R(11), U8(15),
|
| - B(JumpIfTrueConstant), U8(15),
|
| - B(LdrContextSlot), R(1), U8(7), U8(0), R(11),
|
| + B(JumpIfTrueConstant), U8(17),
|
| + B(LdaContextSlot), R(1), U8(7), U8(0),
|
| + B(Star), R(11),
|
| B(LdaUndefined),
|
| B(TestEqualStrict), R(11), U8(16),
|
| - B(JumpIfTrueConstant), U8(16),
|
| - B(LdrContextSlot), R(1), U8(7), U8(0), R(11),
|
| - B(LdaNamedProperty), R(11), U8(11), U8(17),
|
| + B(JumpIfTrueConstant), U8(18),
|
| + B(LdaContextSlot), R(1), U8(7), U8(0),
|
| + B(Star), R(11),
|
| + B(LdaNamedProperty), R(11), U8(12), U8(17),
|
| B(StaContextSlot), R(1), U8(11), U8(0),
|
| - B(LdrContextSlot), R(1), U8(11), U8(0), R(11),
|
| + B(LdaContextSlot), R(1), U8(11), U8(0),
|
| + B(Star), R(11),
|
| B(LdaNull),
|
| B(TestEqual), R(11), U8(19),
|
| B(JumpIfFalse), U8(4),
|
| - B(JumpConstant), U8(8),
|
| - B(LdrContextSlot), R(1), U8(9), U8(0), R(11),
|
| + B(JumpConstant), U8(16),
|
| + B(LdaContextSlot), R(1), U8(9), U8(0),
|
| + B(Star), R(11),
|
| B(LdaSmi), U8(1),
|
| B(TestEqualStrict), R(11), U8(20),
|
| - B(JumpIfFalse), U8(76),
|
| + B(JumpIfFalse), U8(78),
|
| B(LdaContextSlot), R(1), U8(11), U8(0),
|
| B(TypeOf),
|
| B(Star), R(11),
|
| - B(LdaConstant), U8(12),
|
| + B(LdaConstant), U8(13),
|
| B(TestEqualStrict), R(11), U8(21),
|
| B(JumpIfFalse), U8(4),
|
| B(Jump), U8(18),
|
| B(Wide), B(LdaSmi), U16(130),
|
| B(Star), R(11),
|
| - B(LdaConstant), U8(13),
|
| + B(LdaConstant), U8(14),
|
| B(Star), R(12),
|
| B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
|
| B(Throw),
|
| B(Mov), R(context), R(11),
|
| - B(LdrContextSlot), R(1), U8(11), U8(0), R(12),
|
| - B(LdrContextSlot), R(1), U8(7), U8(0), R(13),
|
| + B(LdaContextSlot), R(1), U8(11), U8(0),
|
| + B(Star), R(12),
|
| + B(LdaContextSlot), R(1), U8(7), U8(0),
|
| + B(Star), R(13),
|
| B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
|
| B(Jump), U8(23),
|
| B(Star), R(12),
|
| B(Ldar), R(closure),
|
| - B(CreateCatchContext), R(12), U8(9), U8(14),
|
| + B(CreateCatchContext), R(12), U8(10), U8(15),
|
| B(Star), R(11),
|
| B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
|
| B(Ldar), R(11),
|
| B(PushContext), R(2),
|
| B(PopContext), R(2),
|
| - B(Jump), U8(43),
|
| - B(LdrContextSlot), R(1), U8(11), U8(0), R(11),
|
| - B(LdrContextSlot), R(1), U8(7), U8(0), R(12),
|
| + B(Jump), U8(47),
|
| + B(LdaContextSlot), R(1), U8(11), U8(0),
|
| + B(Star), R(11),
|
| + B(LdaContextSlot), R(1), U8(7), U8(0),
|
| + B(Star), R(12),
|
| B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2),
|
| B(StaContextSlot), R(1), U8(12), U8(0),
|
| - B(LdrContextSlot), R(1), U8(12), U8(0), R(11),
|
| + B(LdaContextSlot), R(1), U8(12), U8(0),
|
| + B(Star), R(11),
|
| B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1),
|
| B(JumpIfToBooleanFalse), U8(4),
|
| - B(Jump), U8(12),
|
| - B(LdrContextSlot), R(1), U8(12), U8(0), R(11),
|
| + B(Jump), U8(13),
|
| + B(LdaContextSlot), R(1), U8(12), U8(0),
|
| + B(Star), R(11),
|
| B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
|
| B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(10), U8(1),
|
| B(LdaZero),
|
| @@ -513,15 +540,16 @@ bytecodes: [
|
| B(LdaSmi), U8(1),
|
| B(Star), R(5),
|
| B(Mov), R(9), R(6),
|
| - B(Jump), U8(47),
|
| + B(Jump), U8(48),
|
| B(PopContext), R(1),
|
| B(PopContext), R(1),
|
| B(LdaSmi), U8(2),
|
| B(Star), R(5),
|
| B(Mov), R(9), R(6),
|
| - B(Jump), U8(34),
|
| + B(Jump), U8(35),
|
| B(PopContext), R(1),
|
| - B(LdrUndefined), R(8),
|
| + B(LdaUndefined),
|
| + B(Star), R(8),
|
| B(LdaTrue),
|
| B(Star), R(9),
|
| B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(8), U8(2),
|
| @@ -537,7 +565,8 @@ bytecodes: [
|
| B(Star), R(5),
|
| B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
|
| B(Star), R(7),
|
| - B(LdrCurrentContextSlot), U8(5), R(8),
|
| + B(LdaCurrentContextSlot), U8(5),
|
| + B(Star), R(8),
|
| B(CallRuntime), U16(Runtime::k_GeneratorClose), R(8), U8(1),
|
| B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(7), U8(1),
|
| B(LdaZero),
|
| @@ -578,21 +607,23 @@ constant pool: [
|
| ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
|
| ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
|
| FIXED_ARRAY_TYPE,
|
| - Smi [129],
|
| + Smi [135],
|
| + Smi [152],
|
| ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
|
| FIXED_ARRAY_TYPE,
|
| ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
|
| ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
|
| ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
|
| FIXED_ARRAY_TYPE,
|
| - Smi [166],
|
| - Smi [155],
|
| - Smi [581],
|
| + Smi [136],
|
| + Smi [176],
|
| + Smi [164],
|
| + Smi [601],
|
| ]
|
| handlers: [
|
| - [46, 690, 696],
|
| - [143, 430, 436],
|
| - [146, 388, 390],
|
| - [544, 558, 560],
|
| + [46, 710, 716],
|
| + [143, 438, 444],
|
| + [146, 394, 396],
|
| + [557, 573, 575],
|
| ]
|
|
|
|
|