| Index: test/cctest/interpreter/bytecode_expectations/ForIn.golden
|
| diff --git a/test/cctest/interpreter/bytecode_expectations/ForIn.golden b/test/cctest/interpreter/bytecode_expectations/ForIn.golden
|
| index a0e62b851900b093bb8f6aaec71babe69231dc3c..fdd7df233e59e4af1c5dfa34c1f47eb9e0af2553 100644
|
| --- a/test/cctest/interpreter/bytecode_expectations/ForIn.golden
|
| +++ b/test/cctest/interpreter/bytecode_expectations/ForIn.golden
|
| @@ -61,36 +61,42 @@ snippet: "
|
| var x = 'potatoes';
|
| for (var p in x) { return p; }
|
| "
|
| -frame size: 8
|
| +frame size: 9
|
| parameter count: 1
|
| -bytecode array length: 45
|
| +bytecode array length: 55
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(3),
|
| + B(LdaConstant), U8(1),
|
| B(Star), R(0),
|
| - /* 68 S> */ B(JumpIfUndefined), U8(38),
|
| - B(JumpIfNull), U8(36),
|
| + /* 68 S> */ B(JumpIfUndefined), U8(44),
|
| + B(JumpIfNull), U8(42),
|
| B(ToObject), R(3),
|
| B(ForInPrepare), R(3), R(4),
|
| B(LdaZero),
|
| B(Star), R(7),
|
| /* 63 S> */ B(ForInContinue), R(7), R(6),
|
| - B(JumpIfFalse), U8(23),
|
| - B(ForInNext), R(3), R(7), R(4), U8(2),
|
| - B(JumpIfUndefined), U8(9),
|
| + B(JumpIfFalse), U8(29),
|
| + B(ForInNext), R(3), R(7), R(4), U8(6),
|
| + B(JumpIfUndefined), U8(15),
|
| B(Star), R(1),
|
| /* 54 E> */ B(StackCheck),
|
| - B(Star), R(2),
|
| - /* 73 S> */ B(Nop),
|
| + B(LdaConstant), U8(2),
|
| + B(Star), R(8),
|
| + B(Mov), R(1), R(2),
|
| + /* 73 S> */ B(Ldar), R(2),
|
| /* 85 S> */ B(Return),
|
| B(ForInStep), R(7),
|
| B(Star), R(7),
|
| - B(JumpLoop), U8(23), I8(0),
|
| + B(JumpLoop), U8(29), I8(0),
|
| B(LdaUndefined),
|
| /* 85 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| ONE_BYTE_INTERNALIZED_STRING_TYPE ["potatoes"],
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["p"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -100,39 +106,47 @@ snippet: "
|
| var x = 0;
|
| for (var p in [1,2,3]) { x += p; }
|
| "
|
| -frame size: 9
|
| +frame size: 10
|
| parameter count: 1
|
| -bytecode array length: 56
|
| +bytecode array length: 69
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(LdaZero),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(3),
|
| + B(LdaZero),
|
| B(Star), R(0),
|
| - /* 59 S> */ B(CreateArrayLiteral), U8(0), U8(2), U8(9),
|
| - B(JumpIfUndefined), U8(46),
|
| - B(JumpIfNull), U8(44),
|
| + /* 59 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(9),
|
| + B(JumpIfUndefined), U8(55),
|
| + B(JumpIfNull), U8(53),
|
| B(ToObject), R(3),
|
| B(ForInPrepare), R(3), R(4),
|
| B(LdaZero),
|
| B(Star), R(7),
|
| /* 54 S> */ B(ForInContinue), R(7), R(6),
|
| - B(JumpIfFalse), U8(31),
|
| - B(ForInNext), R(3), R(7), R(4), U8(4),
|
| - B(JumpIfUndefined), U8(17),
|
| + B(JumpIfFalse), U8(40),
|
| + B(ForInNext), R(3), R(7), R(4), U8(10),
|
| + B(JumpIfUndefined), U8(26),
|
| B(Star), R(1),
|
| /* 45 E> */ B(StackCheck),
|
| - B(Star), R(2),
|
| - /* 70 S> */ B(Ldar), R(1),
|
| - /* 75 E> */ B(Add), R(0), U8(3),
|
| - B(Mov), R(0), R(8),
|
| + B(LdaConstant), U8(2),
|
| + B(Star), R(8),
|
| + B(Mov), R(1), R(2),
|
| + /* 70 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(8),
|
| + B(Ldar), R(1),
|
| + /* 75 E> */ B(Add), R(0), U8(7),
|
| + B(Mov), R(0), R(9),
|
| B(Star), R(0),
|
| /* 72 E> */ B(ForInStep), R(7),
|
| B(Star), R(7),
|
| - B(JumpLoop), U8(31), I8(0),
|
| + B(JumpLoop), U8(40), I8(0),
|
| B(LdaUndefined),
|
| /* 80 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| CONSTANT_ELEMENTS_PAIR_TYPE,
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["p"],
|
| ]
|
| handlers: [
|
| ]
|
| @@ -147,12 +161,14 @@ snippet: "
|
| "
|
| frame size: 7
|
| parameter count: 1
|
| -bytecode array length: 85
|
| +bytecode array length: 89
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(1),
|
| - B(Mov), R(1), R(0),
|
| - /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(3), U8(9),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(CreateObjectLiteral), U8(1), U8(2), U8(1), R(2),
|
| + B(Star), R(1),
|
| + B(Mov), R(2), R(0),
|
| + /* 77 S> */ B(CreateArrayLiteral), U8(2), U8(5), U8(9),
|
| B(JumpIfUndefined), U8(70),
|
| B(JumpIfNull), U8(68),
|
| B(ToObject), R(1),
|
| @@ -161,23 +177,23 @@ bytecodes: [
|
| B(Star), R(5),
|
| /* 68 S> */ B(ForInContinue), R(5), R(4),
|
| B(JumpIfFalse), U8(55),
|
| - B(ForInNext), R(1), R(5), R(2), U8(14),
|
| + B(ForInNext), R(1), R(5), R(2), U8(16),
|
| B(JumpIfUndefined), U8(41),
|
| B(Star), R(6),
|
| - /* 67 E> */ B(StaNamedPropertySloppy), R(0), U8(2), U8(12),
|
| + /* 67 E> */ B(StaNamedPropertySloppy), R(0), U8(3), U8(14),
|
| /* 62 E> */ B(StackCheck),
|
| /* 95 S> */ B(Nop),
|
| - /* 100 E> */ B(LdaNamedProperty), R(0), U8(2), U8(6),
|
| + /* 100 E> */ B(LdaNamedProperty), R(0), U8(3), U8(8),
|
| B(Star), R(6),
|
| B(LdaSmi), I8(10),
|
| - /* 106 E> */ B(TestEqual), R(6), U8(8),
|
| + /* 106 E> */ B(TestEqual), R(6), U8(10),
|
| B(JumpIfFalse), U8(4),
|
| /* 113 S> */ B(Jump), U8(18),
|
| /* 125 S> */ B(Nop),
|
| - /* 130 E> */ B(LdaNamedProperty), R(0), U8(2), U8(9),
|
| + /* 130 E> */ B(LdaNamedProperty), R(0), U8(3), U8(11),
|
| B(Star), R(6),
|
| B(LdaSmi), I8(20),
|
| - /* 136 E> */ B(TestEqual), R(6), U8(11),
|
| + /* 136 E> */ B(TestEqual), R(6), U8(13),
|
| B(JumpIfFalse), U8(4),
|
| /* 143 S> */ B(Jump), U8(9),
|
| B(ForInStep), R(5),
|
| @@ -187,6 +203,7 @@ bytecodes: [
|
| /* 152 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| FIXED_ARRAY_TYPE,
|
| CONSTANT_ELEMENTS_PAIR_TYPE,
|
| ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
|
| @@ -201,12 +218,14 @@ snippet: "
|
| "
|
| frame size: 9
|
| parameter count: 1
|
| -bytecode array length: 62
|
| +bytecode array length: 66
|
| bytecodes: [
|
| /* 30 E> */ B(StackCheck),
|
| - /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(2), U8(9),
|
| + /* 42 S> */ B(LdaConstant), U8(0),
|
| + B(Star), R(1),
|
| + B(CreateArrayLiteral), U8(1), U8(2), U8(9),
|
| B(Star), R(0),
|
| - /* 72 S> */ B(CreateArrayLiteral), U8(1), U8(3), U8(9),
|
| + /* 72 S> */ B(CreateArrayLiteral), U8(2), U8(5), U8(9),
|
| B(JumpIfUndefined), U8(49),
|
| B(JumpIfNull), U8(47),
|
| B(ToObject), R(1),
|
| @@ -215,16 +234,16 @@ bytecodes: [
|
| B(Star), R(5),
|
| /* 65 S> */ B(ForInContinue), R(5), R(4),
|
| B(JumpIfFalse), U8(34),
|
| - B(ForInNext), R(1), R(5), R(2), U8(10),
|
| + B(ForInNext), R(1), R(5), R(2), U8(12),
|
| B(JumpIfUndefined), U8(20),
|
| B(Star), R(6),
|
| B(LdaZero),
|
| B(Star), R(8),
|
| B(Ldar), R(6),
|
| - /* 64 E> */ B(StaKeyedPropertySloppy), R(0), R(8), U8(8),
|
| + /* 64 E> */ B(StaKeyedPropertySloppy), R(0), R(8), U8(10),
|
| /* 59 E> */ B(StackCheck),
|
| /* 83 S> */ B(LdaSmi), I8(3),
|
| - /* 91 E> */ B(LdaKeyedProperty), R(0), U8(6),
|
| + /* 91 E> */ B(LdaKeyedProperty), R(0), U8(8),
|
| /* 98 S> */ B(Return),
|
| B(ForInStep), R(5),
|
| B(Star), R(5),
|
| @@ -233,6 +252,7 @@ bytecodes: [
|
| /* 98 S> */ B(Return),
|
| ]
|
| constant pool: [
|
| + ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
| CONSTANT_ELEMENTS_PAIR_TYPE,
|
| CONSTANT_ELEMENTS_PAIR_TYPE,
|
| ]
|
|
|