| Index: test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
|
| diff --git a/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden b/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
|
| index 3bb478f3c40a444c2d23628c85cd27d1cac9757f..d3bea08606bb7e115cbdaae8ad1d9e3599f4d167 100644
|
| --- a/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
|
| +++ b/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
|
| @@ -11,17 +11,20 @@ snippet: "
|
| while (false) { x = 99; break; continue; }
|
| return x;
|
| "
|
| -frame size: 1
|
| +frame size: 2
|
| parameter count: 1
|
| -bytecode array length: 6
|
| +bytecode array length: 10
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| /* 88 S> */ B(Nop),
|
| /* 98 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -34,17 +37,20 @@ snippet: "
|
| };
|
| return x;
|
| "
|
| -frame size: 1
|
| +frame size: 2
|
| parameter count: 1
|
| -bytecode array length: 6
|
| +bytecode array length: 10
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| /* 77 S> */ B(Nop),
|
| /* 87 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -61,38 +67,47 @@ snippet: "
|
| }
|
| return y;
|
| "
|
| -frame size: 2
|
| +frame size: 3
|
| parameter count: 1
|
| -bytecode array length: 54
|
| +bytecode array length: 69
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| - /* 53 S> */ B(LdaSmi), I8(1),
|
| + /* 53 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(1),
|
| B(Star), R(1),
|
| /* 65 S> */ B(LdaSmi), I8(10),
|
| - /* 65 E> */ B(TestLessThan), R(0), U8(2),
|
| - B(JumpIfFalse), U8(38),
|
| + /* 65 E> */ B(TestLessThan), R(0), U8(6),
|
| + B(JumpIfFalse), U8(45),
|
| /* 56 E> */ B(StackCheck),
|
| - /* 75 S> */ B(LdaSmi), I8(12),
|
| - /* 81 E> */ B(Mul), R(1), U8(3),
|
| + /* 75 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(12),
|
| + /* 81 E> */ B(Mul), R(1), U8(7),
|
| B(Star), R(1),
|
| - /* 89 S> */ B(LdaSmi), I8(1),
|
| - /* 95 E> */ B(Add), R(0), U8(4),
|
| + /* 89 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + /* 95 E> */ B(AddSmi), I8(1), R(0), U8(10),
|
| B(Star), R(0),
|
| /* 102 S> */ B(LdaSmi), I8(3),
|
| - /* 108 E> */ B(TestEqual), R(0), U8(5),
|
| + /* 108 E> */ B(TestEqual), R(0), U8(13),
|
| B(JumpIfFalse), U8(4),
|
| /* 114 S> */ B(Jump), U8(11),
|
| /* 126 S> */ B(LdaSmi), I8(4),
|
| - /* 132 E> */ B(TestEqual), R(0), U8(6),
|
| + /* 132 E> */ B(TestEqual), R(0), U8(14),
|
| B(JumpIfFalse), U8(4),
|
| /* 138 S> */ B(Jump), U8(5),
|
| - B(JumpLoop), U8(40), I8(0),
|
| + B(JumpLoop), U8(47), I8(0),
|
| /* 147 S> */ B(Ldar), R(1),
|
| /* 157 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -110,42 +125,46 @@ snippet: "
|
| }
|
| return i;
|
| "
|
| -frame size: 1
|
| +frame size: 2
|
| parameter count: 1
|
| -bytecode array length: 62
|
| +bytecode array length: 69
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| /* 45 E> */ B(StackCheck),
|
| /* 62 S> */ B(LdaZero),
|
| - /* 68 E> */ B(TestLessThan), R(0), U8(2),
|
| + /* 68 E> */ B(TestLessThan), R(0), U8(4),
|
| B(JumpIfFalse), U8(4),
|
| - /* 73 S> */ B(Jump), U8(45),
|
| + /* 73 S> */ B(Jump), U8(48),
|
| /* 85 S> */ B(LdaSmi), I8(3),
|
| - /* 91 E> */ B(TestEqual), R(0), U8(3),
|
| + /* 91 E> */ B(TestEqual), R(0), U8(5),
|
| B(JumpIfFalse), U8(4),
|
| - /* 97 S> */ B(Jump), U8(39),
|
| + /* 97 S> */ B(Jump), U8(42),
|
| /* 106 S> */ B(LdaSmi), I8(4),
|
| - /* 112 E> */ B(TestEqual), R(0), U8(4),
|
| + /* 112 E> */ B(TestEqual), R(0), U8(6),
|
| B(JumpIfFalse), U8(4),
|
| - /* 118 S> */ B(Jump), U8(30),
|
| + /* 118 S> */ B(Jump), U8(33),
|
| /* 127 S> */ B(LdaSmi), I8(10),
|
| - /* 133 E> */ B(TestEqual), R(0), U8(5),
|
| + /* 133 E> */ B(TestEqual), R(0), U8(7),
|
| B(JumpIfFalse), U8(4),
|
| - /* 140 S> */ B(Jump), U8(18),
|
| + /* 140 S> */ B(Jump), U8(21),
|
| /* 152 S> */ B(LdaSmi), I8(5),
|
| - /* 158 E> */ B(TestEqual), R(0), U8(6),
|
| + /* 158 E> */ B(TestEqual), R(0), U8(8),
|
| B(JumpIfFalse), U8(4),
|
| - /* 164 S> */ B(Jump), U8(12),
|
| - /* 173 S> */ B(LdaSmi), I8(1),
|
| - /* 179 E> */ B(Add), R(0), U8(7),
|
| + /* 164 S> */ B(Jump), U8(15),
|
| + /* 173 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + /* 179 E> */ B(AddSmi), I8(1), R(0), U8(9),
|
| B(Star), R(0),
|
| - B(JumpLoop), U8(52), I8(0),
|
| + B(JumpLoop), U8(55), I8(0),
|
| /* 186 S> */ B(Ldar), R(0),
|
| /* 196 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["i"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -163,34 +182,39 @@ snippet: "
|
| }
|
| return i;
|
| "
|
| -frame size: 1
|
| +frame size: 2
|
| parameter count: 1
|
| -bytecode array length: 44
|
| +bytecode array length: 54
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| /* 45 E> */ B(StackCheck),
|
| /* 71 S> */ B(LdaSmi), I8(3),
|
| - /* 71 E> */ B(TestLessThan), R(0), U8(2),
|
| - B(JumpIfFalse), U8(22),
|
| + /* 71 E> */ B(TestLessThan), R(0), U8(4),
|
| + B(JumpIfFalse), U8(25),
|
| /* 62 E> */ B(StackCheck),
|
| /* 82 S> */ B(LdaSmi), I8(2),
|
| - /* 88 E> */ B(TestEqual), R(0), U8(3),
|
| + /* 88 E> */ B(TestEqual), R(0), U8(5),
|
| B(JumpIfFalse), U8(4),
|
| - /* 94 S> */ B(Jump), U8(12),
|
| - /* 105 S> */ B(LdaSmi), I8(1),
|
| - /* 111 E> */ B(Add), R(0), U8(4),
|
| + /* 94 S> */ B(Jump), U8(15),
|
| + /* 105 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + /* 111 E> */ B(AddSmi), I8(1), R(0), U8(6),
|
| B(Star), R(0),
|
| - B(JumpLoop), U8(24), I8(1),
|
| - /* 122 S> */ B(LdaSmi), I8(1),
|
| - /* 128 E> */ B(Add), R(0), U8(5),
|
| + B(JumpLoop), U8(27), I8(1),
|
| + /* 122 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + /* 128 E> */ B(AddSmi), I8(1), R(0), U8(9),
|
| B(Star), R(0),
|
| /* 135 S> */ B(Jump), U8(2),
|
| /* 144 S> */ B(Ldar), R(0),
|
| /* 154 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["i"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -205,29 +229,38 @@ snippet: "
|
| }
|
| return y;
|
| "
|
| -frame size: 2
|
| +frame size: 3
|
| parameter count: 1
|
| -bytecode array length: 34
|
| +bytecode array length: 49
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaSmi), I8(10),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(10),
|
| B(Star), R(0),
|
| - /* 54 S> */ B(LdaSmi), I8(1),
|
| + /* 54 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(1),
|
| B(Star), R(1),
|
| /* 64 S> */ B(Ldar), R(0),
|
| - B(JumpIfToBooleanFalse), U8(20),
|
| + B(JumpIfToBooleanFalse), U8(27),
|
| /* 57 E> */ B(StackCheck),
|
| - /* 71 S> */ B(LdaSmi), I8(12),
|
| - /* 77 E> */ B(Mul), R(1), U8(2),
|
| + /* 71 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(12),
|
| + /* 77 E> */ B(Mul), R(1), U8(6),
|
| B(Star), R(1),
|
| - /* 85 S> */ B(LdaSmi), I8(1),
|
| - /* 91 E> */ B(Sub), R(0), U8(3),
|
| + /* 85 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + /* 91 E> */ B(SubSmi), I8(1), R(0), U8(9),
|
| B(Star), R(0),
|
| - B(JumpLoop), U8(19), I8(0),
|
| + B(JumpLoop), U8(26), I8(0),
|
| /* 98 S> */ B(Ldar), R(1),
|
| /* 108 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -243,38 +276,47 @@ snippet: "
|
| } while (x < 10);
|
| return y;
|
| "
|
| -frame size: 2
|
| +frame size: 3
|
| parameter count: 1
|
| -bytecode array length: 54
|
| +bytecode array length: 69
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| - /* 53 S> */ B(LdaSmi), I8(1),
|
| + /* 53 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(1),
|
| B(Star), R(1),
|
| /* 56 E> */ B(StackCheck),
|
| - /* 63 S> */ B(LdaSmi), I8(10),
|
| - /* 69 E> */ B(Mul), R(1), U8(2),
|
| + /* 63 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(10),
|
| + /* 69 E> */ B(Mul), R(1), U8(6),
|
| B(Star), R(1),
|
| /* 77 S> */ B(LdaSmi), I8(5),
|
| - /* 83 E> */ B(TestEqual), R(0), U8(3),
|
| + /* 83 E> */ B(TestEqual), R(0), U8(9),
|
| B(JumpIfFalse), U8(4),
|
| - /* 89 S> */ B(Jump), U8(28),
|
| + /* 89 S> */ B(Jump), U8(31),
|
| /* 98 S> */ B(LdaSmi), I8(6),
|
| - /* 104 E> */ B(TestEqual), R(0), U8(4),
|
| + /* 104 E> */ B(TestEqual), R(0), U8(10),
|
| B(JumpIfFalse), U8(4),
|
| - /* 110 S> */ B(Jump), U8(9),
|
| - /* 122 S> */ B(LdaSmi), I8(1),
|
| - /* 128 E> */ B(Add), R(0), U8(5),
|
| + /* 110 S> */ B(Jump), U8(12),
|
| + /* 122 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + /* 128 E> */ B(AddSmi), I8(1), R(0), U8(11),
|
| B(Star), R(0),
|
| /* 144 S> */ B(LdaSmi), I8(10),
|
| - /* 144 E> */ B(TestLessThan), R(0), U8(6),
|
| + /* 144 E> */ B(TestLessThan), R(0), U8(14),
|
| B(JumpIfFalse), U8(5),
|
| - B(JumpLoop), U8(40), I8(0),
|
| + B(JumpLoop), U8(47), I8(0),
|
| /* 151 S> */ B(Ldar), R(1),
|
| /* 161 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -289,28 +331,37 @@ snippet: "
|
| } while (x);
|
| return y;
|
| "
|
| -frame size: 2
|
| +frame size: 3
|
| parameter count: 1
|
| -bytecode array length: 32
|
| +bytecode array length: 47
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaSmi), I8(10),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(10),
|
| B(Star), R(0),
|
| - /* 54 S> */ B(LdaSmi), I8(1),
|
| + /* 54 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(1),
|
| B(Star), R(1),
|
| /* 57 E> */ B(StackCheck),
|
| - /* 64 S> */ B(LdaSmi), I8(12),
|
| - /* 70 E> */ B(Mul), R(1), U8(2),
|
| + /* 64 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(12),
|
| + /* 70 E> */ B(Mul), R(1), U8(6),
|
| B(Star), R(1),
|
| - /* 78 S> */ B(LdaSmi), I8(1),
|
| - /* 84 E> */ B(Sub), R(0), U8(3),
|
| + /* 78 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + /* 84 E> */ B(SubSmi), I8(1), R(0), U8(9),
|
| B(Star), R(0),
|
| /* 98 S> */ B(JumpIfToBooleanFalse), U8(5),
|
| - B(JumpLoop), U8(17), I8(0),
|
| + B(JumpLoop), U8(24), I8(0),
|
| /* 102 S> */ B(Ldar), R(1),
|
| /* 112 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -326,34 +377,43 @@ snippet: "
|
| } while (false);
|
| return y;
|
| "
|
| -frame size: 2
|
| +frame size: 3
|
| parameter count: 1
|
| -bytecode array length: 44
|
| +bytecode array length: 59
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| - /* 53 S> */ B(LdaSmi), I8(1),
|
| + /* 53 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(1),
|
| B(Star), R(1),
|
| /* 56 E> */ B(StackCheck),
|
| - /* 63 S> */ B(LdaSmi), I8(10),
|
| - /* 69 E> */ B(Mul), R(1), U8(2),
|
| + /* 63 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(10),
|
| + /* 69 E> */ B(Mul), R(1), U8(6),
|
| B(Star), R(1),
|
| /* 77 S> */ B(LdaSmi), I8(5),
|
| - /* 83 E> */ B(TestEqual), R(0), U8(3),
|
| + /* 83 E> */ B(TestEqual), R(0), U8(9),
|
| B(JumpIfFalse), U8(4),
|
| - /* 89 S> */ B(Jump), U8(18),
|
| - /* 98 S> */ B(LdaSmi), I8(1),
|
| - /* 104 E> */ B(Add), R(0), U8(4),
|
| + /* 89 S> */ B(Jump), U8(21),
|
| + /* 98 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + /* 104 E> */ B(AddSmi), I8(1), R(0), U8(10),
|
| B(Star), R(0),
|
| /* 111 S> */ B(LdaSmi), I8(6),
|
| - /* 117 E> */ B(TestEqual), R(0), U8(5),
|
| + /* 117 E> */ B(TestEqual), R(0), U8(13),
|
| B(JumpIfFalse), U8(4),
|
| /* 123 S> */ B(Jump), U8(2),
|
| /* 150 S> */ B(Ldar), R(1),
|
| /* 160 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -369,35 +429,44 @@ snippet: "
|
| } while (true);
|
| return y;
|
| "
|
| -frame size: 2
|
| +frame size: 3
|
| parameter count: 1
|
| -bytecode array length: 47
|
| +bytecode array length: 62
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| - /* 53 S> */ B(LdaSmi), I8(1),
|
| + /* 53 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(1),
|
| B(Star), R(1),
|
| /* 56 E> */ B(StackCheck),
|
| - /* 63 S> */ B(LdaSmi), I8(10),
|
| - /* 69 E> */ B(Mul), R(1), U8(2),
|
| + /* 63 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(10),
|
| + /* 69 E> */ B(Mul), R(1), U8(6),
|
| B(Star), R(1),
|
| /* 77 S> */ B(LdaSmi), I8(5),
|
| - /* 83 E> */ B(TestEqual), R(0), U8(3),
|
| + /* 83 E> */ B(TestEqual), R(0), U8(9),
|
| B(JumpIfFalse), U8(4),
|
| - /* 89 S> */ B(Jump), U8(21),
|
| - /* 98 S> */ B(LdaSmi), I8(1),
|
| - /* 104 E> */ B(Add), R(0), U8(4),
|
| + /* 89 S> */ B(Jump), U8(24),
|
| + /* 98 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + /* 104 E> */ B(AddSmi), I8(1), R(0), U8(10),
|
| B(Star), R(0),
|
| /* 111 S> */ B(LdaSmi), I8(6),
|
| - /* 117 E> */ B(TestEqual), R(0), U8(5),
|
| + /* 117 E> */ B(TestEqual), R(0), U8(13),
|
| B(JumpIfFalse), U8(4),
|
| /* 123 S> */ B(Jump), U8(2),
|
| - B(JumpLoop), U8(33), I8(0),
|
| + B(JumpLoop), U8(40), I8(0),
|
| /* 149 S> */ B(Ldar), R(1),
|
| /* 159 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -411,30 +480,34 @@ snippet: "
|
| x = x + 1;
|
| }
|
| "
|
| -frame size: 1
|
| +frame size: 2
|
| parameter count: 1
|
| -bytecode array length: 35
|
| +bytecode array length: 42
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| /* 45 E> */ B(StackCheck),
|
| /* 58 S> */ B(LdaSmi), I8(1),
|
| - /* 64 E> */ B(TestEqual), R(0), U8(2),
|
| + /* 64 E> */ B(TestEqual), R(0), U8(4),
|
| B(JumpIfFalse), U8(4),
|
| - /* 70 S> */ B(Jump), U8(21),
|
| + /* 70 S> */ B(Jump), U8(24),
|
| /* 79 S> */ B(LdaSmi), I8(2),
|
| - /* 85 E> */ B(TestEqual), R(0), U8(3),
|
| + /* 85 E> */ B(TestEqual), R(0), U8(5),
|
| B(JumpIfFalse), U8(4),
|
| - /* 91 S> */ B(Jump), U8(9),
|
| - /* 103 S> */ B(LdaSmi), I8(1),
|
| - /* 109 E> */ B(Add), R(0), U8(4),
|
| + /* 91 S> */ B(Jump), U8(12),
|
| + /* 103 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + /* 109 E> */ B(AddSmi), I8(1), R(0), U8(6),
|
| B(Star), R(0),
|
| - B(JumpLoop), U8(26), I8(0),
|
| + B(JumpLoop), U8(29), I8(0),
|
| B(LdaUndefined),
|
| /* 116 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -447,30 +520,34 @@ snippet: "
|
| x = x + 1;
|
| }
|
| "
|
| -frame size: 1
|
| +frame size: 2
|
| parameter count: 1
|
| -bytecode array length: 35
|
| +bytecode array length: 42
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 47 S> */ B(LdaZero),
|
| + /* 47 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| /* 34 E> */ B(StackCheck),
|
| /* 56 S> */ B(LdaSmi), I8(1),
|
| - /* 62 E> */ B(TestEqual), R(0), U8(2),
|
| + /* 62 E> */ B(TestEqual), R(0), U8(4),
|
| B(JumpIfFalse), U8(4),
|
| - /* 68 S> */ B(Jump), U8(21),
|
| + /* 68 S> */ B(Jump), U8(24),
|
| /* 77 S> */ B(LdaSmi), I8(2),
|
| - /* 83 E> */ B(TestEqual), R(0), U8(3),
|
| + /* 83 E> */ B(TestEqual), R(0), U8(5),
|
| B(JumpIfFalse), U8(4),
|
| - /* 89 S> */ B(Jump), U8(9),
|
| - /* 101 S> */ B(LdaSmi), I8(1),
|
| - /* 107 E> */ B(Add), R(0), U8(4),
|
| + /* 89 S> */ B(Jump), U8(12),
|
| + /* 101 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + /* 107 E> */ B(AddSmi), I8(1), R(0), U8(6),
|
| B(Star), R(0),
|
| - B(JumpLoop), U8(26), I8(0),
|
| + B(JumpLoop), U8(29), I8(0),
|
| B(LdaUndefined),
|
| /* 114 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -483,30 +560,34 @@ snippet: "
|
| if (x == 2) continue;
|
| }
|
| "
|
| -frame size: 1
|
| +frame size: 2
|
| parameter count: 1
|
| -bytecode array length: 35
|
| +bytecode array length: 42
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| /* 45 E> */ B(StackCheck),
|
| /* 68 S> */ B(LdaSmi), I8(1),
|
| - /* 74 E> */ B(TestEqual), R(0), U8(3),
|
| + /* 74 E> */ B(TestEqual), R(0), U8(7),
|
| B(JumpIfFalse), U8(4),
|
| - /* 80 S> */ B(Jump), U8(21),
|
| + /* 80 S> */ B(Jump), U8(24),
|
| /* 89 S> */ B(LdaSmi), I8(2),
|
| - /* 95 E> */ B(TestEqual), R(0), U8(4),
|
| + /* 95 E> */ B(TestEqual), R(0), U8(8),
|
| B(JumpIfFalse), U8(4),
|
| /* 101 S> */ B(Jump), U8(2),
|
| - /* 55 S> */ B(LdaSmi), I8(1),
|
| - /* 59 E> */ B(Add), R(0), U8(2),
|
| + /* 55 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + /* 59 E> */ B(AddSmi), I8(1), R(0), U8(4),
|
| B(Star), R(0),
|
| - B(JumpLoop), U8(26), I8(0),
|
| + B(JumpLoop), U8(29), I8(0),
|
| B(LdaUndefined),
|
| /* 113 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -518,30 +599,34 @@ snippet: "
|
| if (x == 2) continue;
|
| }
|
| "
|
| -frame size: 1
|
| +frame size: 2
|
| parameter count: 1
|
| -bytecode array length: 35
|
| +bytecode array length: 42
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 47 S> */ B(LdaZero),
|
| + /* 47 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| /* 34 E> */ B(StackCheck),
|
| /* 66 S> */ B(LdaSmi), I8(1),
|
| - /* 72 E> */ B(TestEqual), R(0), U8(3),
|
| + /* 72 E> */ B(TestEqual), R(0), U8(7),
|
| B(JumpIfFalse), U8(4),
|
| - /* 78 S> */ B(Jump), U8(21),
|
| + /* 78 S> */ B(Jump), U8(24),
|
| /* 87 S> */ B(LdaSmi), I8(2),
|
| - /* 93 E> */ B(TestEqual), R(0), U8(4),
|
| + /* 93 E> */ B(TestEqual), R(0), U8(8),
|
| B(JumpIfFalse), U8(4),
|
| /* 99 S> */ B(Jump), U8(2),
|
| - /* 53 S> */ B(LdaSmi), I8(1),
|
| - /* 57 E> */ B(Add), R(0), U8(2),
|
| + /* 53 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + /* 57 E> */ B(AddSmi), I8(1), R(0), U8(4),
|
| B(Star), R(0),
|
| - B(JumpLoop), U8(26), I8(0),
|
| + B(JumpLoop), U8(29), I8(0),
|
| B(LdaUndefined),
|
| /* 111 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -554,31 +639,39 @@ snippet: "
|
| continue;
|
| }
|
| "
|
| -frame size: 2
|
| +frame size: 3
|
| parameter count: 1
|
| -bytecode array length: 36
|
| +bytecode array length: 50
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| - /* 58 S> */ B(LdaZero),
|
| + /* 58 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaZero),
|
| B(Star), R(1),
|
| /* 63 S> */ B(LdaSmi), I8(100),
|
| - /* 63 E> */ B(TestLessThan), R(1), U8(2),
|
| - B(JumpIfFalse), U8(22),
|
| + /* 63 E> */ B(TestLessThan), R(1), U8(6),
|
| + B(JumpIfFalse), U8(28),
|
| /* 45 E> */ B(StackCheck),
|
| - /* 85 S> */ B(LdaSmi), I8(1),
|
| - /* 91 E> */ B(Add), R(0), U8(4),
|
| + /* 85 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + /* 91 E> */ B(AddSmi), I8(1), R(0), U8(10),
|
| B(Star), R(0),
|
| /* 98 S> */ B(Jump), U8(2),
|
| - /* 72 S> */ B(LdaSmi), I8(1),
|
| - /* 76 E> */ B(Add), R(1), U8(3),
|
| + /* 72 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + /* 76 E> */ B(AddSmi), I8(1), R(1), U8(7),
|
| B(Star), R(1),
|
| - B(JumpLoop), U8(24), I8(0),
|
| + B(JumpLoop), U8(30), I8(0),
|
| B(LdaUndefined),
|
| /* 110 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["u"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["i"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -591,29 +684,37 @@ snippet: "
|
| }
|
| return y;
|
| "
|
| -frame size: 2
|
| +frame size: 3
|
| parameter count: 1
|
| -bytecode array length: 33
|
| +bytecode array length: 45
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaSmi), I8(1),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(1),
|
| B(Star), R(0),
|
| - /* 58 S> */ B(LdaSmi), I8(10),
|
| + /* 58 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(10),
|
| B(Star), R(1),
|
| /* 62 S> */ B(Ldar), R(1),
|
| - B(JumpIfToBooleanFalse), U8(19),
|
| + B(JumpIfToBooleanFalse), U8(23),
|
| /* 45 E> */ B(StackCheck),
|
| - /* 74 S> */ B(LdaSmi), I8(12),
|
| - /* 80 E> */ B(Mul), R(0), U8(3),
|
| + /* 74 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaSmi), I8(12),
|
| + /* 80 E> */ B(Mul), R(0), U8(7),
|
| B(Star), R(0),
|
| /* 67 S> */ B(Ldar), R(1),
|
| - B(Dec), U8(2),
|
| + B(Dec), U8(6),
|
| B(Star), R(1),
|
| - B(JumpLoop), U8(18), I8(0),
|
| + B(JumpLoop), U8(22), I8(0),
|
| /* 88 S> */ B(Ldar), R(0),
|
| /* 98 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -626,19 +727,25 @@ snippet: "
|
| };
|
| return x;
|
| "
|
| -frame size: 2
|
| +frame size: 3
|
| parameter count: 1
|
| -bytecode array length: 10
|
| +bytecode array length: 18
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| - /* 58 S> */ B(LdaZero),
|
| + /* 58 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaZero),
|
| B(Star), R(1),
|
| /* 91 S> */ B(Ldar), R(0),
|
| /* 101 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["i"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -652,31 +759,38 @@ snippet: "
|
| };
|
| return x;
|
| "
|
| -frame size: 2
|
| +frame size: 3
|
| parameter count: 1
|
| -bytecode array length: 36
|
| +bytecode array length: 47
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| - /* 58 S> */ B(LdaZero),
|
| + /* 58 S> */ B(LdaConstant), U8(1),
|
| + B(Star), R(2),
|
| + B(LdaZero),
|
| B(Star), R(1),
|
| /* 45 E> */ B(StackCheck),
|
| - /* 76 S> */ B(LdaSmi), I8(1),
|
| - /* 82 E> */ B(Add), R(0), U8(3),
|
| + /* 76 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(2),
|
| + /* 82 E> */ B(AddSmi), I8(1), R(0), U8(7),
|
| B(Star), R(0),
|
| /* 89 S> */ B(LdaSmi), I8(20),
|
| - /* 95 E> */ B(TestEqual), R(0), U8(4),
|
| + /* 95 E> */ B(TestEqual), R(0), U8(10),
|
| B(JumpIfFalse), U8(4),
|
| /* 102 S> */ B(Jump), U8(11),
|
| /* 69 S> */ B(Ldar), R(1),
|
| - B(Inc), U8(2),
|
| + B(Inc), U8(6),
|
| B(Star), R(1),
|
| - B(JumpLoop), U8(23), I8(0),
|
| + B(JumpLoop), U8(26), I8(0),
|
| /* 112 S> */ B(Ldar), R(0),
|
| /* 122 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["i"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -693,25 +807,31 @@ snippet: "
|
| }
|
| }
|
| "
|
| -frame size: 4
|
| +frame size: 5
|
| parameter count: 1
|
| -bytecode array length: 54
|
| +bytecode array length: 66
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(4),
|
| + B(LdaZero),
|
| B(Star), R(1),
|
| /* 52 S> */ B(Ldar), R(1),
|
| - B(JumpIfToBooleanFalse), U8(46),
|
| + B(JumpIfToBooleanFalse), U8(54),
|
| /* 45 E> */ B(StackCheck),
|
| B(Ldar), R(closure),
|
| - B(CreateBlockContext), U8(0),
|
| + B(CreateBlockContext), U8(1),
|
| B(PushContext), R(3),
|
| B(LdaTheHole),
|
| B(StaCurrentContextSlot), U8(4),
|
| - B(CreateClosure), U8(1), U8(2), U8(2),
|
| + B(CreateClosure), U8(2), U8(4), U8(2),
|
| B(Star), R(0),
|
| - /* 73 S> */ B(LdaSmi), I8(1),
|
| + /* 73 S> */ B(LdaConstant), U8(3),
|
| + B(Star), R(4),
|
| + B(LdaSmi), I8(1),
|
| /* 73 E> */ B(StaCurrentContextSlot), U8(4),
|
| + B(LdaConstant), U8(4),
|
| + B(Star), R(4),
|
| B(Mov), R(0), R(2),
|
| /* 106 S> */ B(LdaCurrentContextSlot), U8(4),
|
| B(JumpIfToBooleanFalse), U8(8),
|
| @@ -719,16 +839,19 @@ bytecodes: [
|
| B(PopContext), R(3),
|
| B(Jump), U8(10),
|
| /* 126 S> */ B(LdaCurrentContextSlot), U8(4),
|
| - B(Inc), U8(3),
|
| + B(Inc), U8(9),
|
| /* 127 E> */ B(StaCurrentContextSlot), U8(4),
|
| B(PopContext), R(3),
|
| - B(JumpLoop), U8(45), I8(0),
|
| + B(JumpLoop), U8(53), I8(0),
|
| B(LdaUndefined),
|
| /* 137 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
|
| FIXED_ARRAY_TYPE,
|
| SHARED_FUNCTION_INFO_TYPE,
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["z"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f"],
|
| ]
|
| handlers: [
|
| ]
|
|
|