| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #include "src/compiler.h" | 7 #include "src/compiler.h" |
| 8 #include "src/interpreter/bytecode-array-iterator.h" | 8 #include "src/interpreter/bytecode-array-iterator.h" |
| 9 #include "src/interpreter/bytecode-generator.h" | 9 #include "src/interpreter/bytecode-generator.h" |
| 10 #include "src/interpreter/interpreter.h" | 10 #include "src/interpreter/interpreter.h" |
| (...skipping 1774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1785 0, | 1785 0, |
| 1786 1, | 1786 1, |
| 1787 7, | 1787 7, |
| 1788 { | 1788 { |
| 1789 B(CallRuntime), U16(Runtime::kTheHole), R(0), U8(0), // | 1789 B(CallRuntime), U16(Runtime::kTheHole), R(0), U8(0), // |
| 1790 B(LdaUndefined), // | 1790 B(LdaUndefined), // |
| 1791 B(Return) // | 1791 B(Return) // |
| 1792 }, | 1792 }, |
| 1793 }, | 1793 }, |
| 1794 { | 1794 { |
| 1795 "function f(a) { return %IsArray(a) }\nf(undefined)", | 1795 "function f(a) { return %IsStrong(a) }\nf(undefined)", |
| 1796 1 * kPointerSize, | 1796 1 * kPointerSize, |
| 1797 2, | 1797 2, |
| 1798 10, | 1798 10, |
| 1799 { | 1799 { |
| 1800 B(Ldar), A(1, 2), // | 1800 B(Ldar), A(1, 2), // |
| 1801 B(Star), R(0), // | 1801 B(Star), R(0), // |
| 1802 B(CallRuntime), U16(Runtime::kIsArray), R(0), U8(1), // | 1802 B(CallRuntime), U16(Runtime::kIsStrong), R(0), U8(1), // |
| 1803 B(Return) // | 1803 B(Return) // |
| 1804 }, | 1804 }, |
| 1805 }, | 1805 }, |
| 1806 { | 1806 { |
| 1807 "function f() { return %Add(1, 2) }\nf()", | 1807 "function f() { return %Add(1, 2) }\nf()", |
| 1808 2 * kPointerSize, | 1808 2 * kPointerSize, |
| 1809 1, | 1809 1, |
| 1810 14, | 1810 14, |
| 1811 { | 1811 { |
| 1812 B(LdaSmi8), U8(1), // | 1812 B(LdaSmi8), U8(1), // |
| 1813 B(Star), R(0), // | 1813 B(Star), R(0), // |
| (...skipping 3942 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5756 FeedbackVectorSlot slot8 = feedback_spec.AddLoadICSlot(); | 5756 FeedbackVectorSlot slot8 = feedback_spec.AddLoadICSlot(); |
| 5757 Handle<i::TypeFeedbackVector> vector = | 5757 Handle<i::TypeFeedbackVector> vector = |
| 5758 i::NewTypeFeedbackVector(helper.isolate(), &feedback_spec); | 5758 i::NewTypeFeedbackVector(helper.isolate(), &feedback_spec); |
| 5759 | 5759 |
| 5760 ExpectedSnippet<InstanceType, 8> snippets[] = { | 5760 ExpectedSnippet<InstanceType, 8> snippets[] = { |
| 5761 {"for (var p of [0, 1, 2]) {}", | 5761 {"for (var p of [0, 1, 2]) {}", |
| 5762 7 * kPointerSize, | 5762 7 * kPointerSize, |
| 5763 1, | 5763 1, |
| 5764 82, | 5764 82, |
| 5765 { | 5765 { |
| 5766 B(CreateArrayLiteral), U8(0), U8(0), U8(array_literal_flags), // | 5766 B(CreateArrayLiteral), U8(0), U8(0), U8(array_literal_flags), // |
| 5767 B(Star), R(5), // | 5767 B(Star), R(5), // |
| 5768 B(LdaConstant), U8(1), // | 5768 B(LdaConstant), U8(1), // |
| 5769 B(KeyedLoadICSloppy), R(5), U8(vector->GetIndex(slot2)), // | 5769 B(KeyedLoadICSloppy), R(5), U8(vector->GetIndex(slot2)), // |
| 5770 B(Star), R(4), // | 5770 B(Star), R(4), // |
| 5771 B(Call), R(4), R(5), U8(0), U8(vector->GetIndex(slot1)), // | 5771 B(Call), R(4), R(5), U8(0), U8(vector->GetIndex(slot1)), // |
| 5772 B(Star), R(1), // | 5772 B(Star), R(1), // |
| 5773 B(Ldar), R(1), // | 5773 B(Ldar), R(1), // |
| 5774 B(Star), R(6), // | 5774 B(Star), R(6), // |
| 5775 B(LoadICSloppy), R(6), U8(2), U8(vector->GetIndex(slot4)), // | 5775 B(LoadICSloppy), R(6), U8(2), U8(vector->GetIndex(slot4)), // |
| 5776 B(Star), R(5), // | 5776 B(Star), R(5), // |
| 5777 B(Call), R(5), R(6), U8(0), U8(vector->GetIndex(slot3)), // | 5777 B(Call), R(5), R(6), U8(0), U8(vector->GetIndex(slot3)), // |
| 5778 B(Star), R(2), // | 5778 B(Star), R(2), // |
| 5779 B(Star), R(4), // | 5779 B(Star), R(4), // |
| 5780 B(CallRuntime), U16(Runtime::kInlineIsJSReceiver), R(4), U8(1), // | 5780 B(IntrinsicOneArg), U16(Runtime::kInlineIsJSReceiver), R16(4), // |
| 5781 B(LogicalNot), // | 5781 B(LogicalNot), // |
| 5782 B(JumpIfFalse), U8(11), // | 5782 B(JumpIfFalse), U8(11), // |
| 5783 B(Ldar), R(2), // | 5783 B(Ldar), R(2), // |
| 5784 B(Star), R(4), // | 5784 B(Star), R(4), // |
| 5785 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), // | 5785 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), // |
| 5786 R(4), U8(1), // | 5786 R(4), U8(1), // |
| 5787 B(Ldar), R(2), // | 5787 B(Ldar), R(2), // |
| 5788 B(Star), R(4), // | 5788 B(Star), R(4), // |
| 5789 B(LoadICSloppy), R(4), U8(3), U8(vector->GetIndex(slot5)), // | 5789 B(LoadICSloppy), R(4), U8(3), U8(vector->GetIndex(slot5)), // |
| 5790 B(JumpIfToBooleanTrue), U8(16), // | 5790 B(JumpIfToBooleanTrue), U8(16), // |
| 5791 B(Ldar), R(2), // | 5791 B(Ldar), R(2), // |
| 5792 B(Star), R(4), // | 5792 B(Star), R(4), // |
| 5793 B(LoadICSloppy), R(4), U8(4), U8(vector->GetIndex(slot6)), // | 5793 B(LoadICSloppy), R(4), U8(4), U8(vector->GetIndex(slot6)), // |
| 5794 B(Star), R(0), // | 5794 B(Star), R(0), // |
| 5795 B(Star), R(3), // | 5795 B(Star), R(3), // |
| 5796 B(Jump), U8(-58), // | 5796 B(Jump), U8(-58), // |
| 5797 B(LdaUndefined), // | 5797 B(LdaUndefined), // |
| 5798 B(Return), // | 5798 B(Return), // |
| 5799 }, | 5799 }, |
| 5800 5, | 5800 5, |
| 5801 {InstanceType::FIXED_ARRAY_TYPE, InstanceType::SYMBOL_TYPE, | 5801 {InstanceType::FIXED_ARRAY_TYPE, InstanceType::SYMBOL_TYPE, |
| 5802 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 5802 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 5803 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 5803 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 5804 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 5804 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 5805 {"var x = 'potatoes';\n" | 5805 {"var x = 'potatoes';\n" |
| 5806 "for (var p of x) { return p; }", | 5806 "for (var p of x) { return p; }", |
| 5807 8 * kPointerSize, | 5807 8 * kPointerSize, |
| 5808 1, | 5808 1, |
| 5809 81, | 5809 81, |
| 5810 { | 5810 { |
| 5811 B(LdaConstant), U8(0), // | 5811 B(LdaConstant), U8(0), // |
| 5812 B(Star), R(3), // | 5812 B(Star), R(3), // |
| 5813 B(Star), R(6), // | 5813 B(Star), R(6), // |
| 5814 B(LdaConstant), U8(1), // | 5814 B(LdaConstant), U8(1), // |
| 5815 B(KeyedLoadICSloppy), R(6), U8(vector->GetIndex(slot2)), // | 5815 B(KeyedLoadICSloppy), R(6), U8(vector->GetIndex(slot2)), // |
| 5816 B(Star), R(5), // | 5816 B(Star), R(5), // |
| 5817 B(Call), R(5), R(6), U8(0), U8(vector->GetIndex(slot1)), // | 5817 B(Call), R(5), R(6), U8(0), U8(vector->GetIndex(slot1)), // |
| 5818 B(Star), R(1), // | 5818 B(Star), R(1), // |
| 5819 B(Ldar), R(1), // | 5819 B(Ldar), R(1), // |
| 5820 B(Star), R(7), // | 5820 B(Star), R(7), // |
| 5821 B(LoadICSloppy), R(7), U8(2), U8(vector->GetIndex(slot4)), // | 5821 B(LoadICSloppy), R(7), U8(2), U8(vector->GetIndex(slot4)), // |
| 5822 B(Star), R(6), // | 5822 B(Star), R(6), // |
| 5823 B(Call), R(6), R(7), U8(0), U8(vector->GetIndex(slot3)), // | 5823 B(Call), R(6), R(7), U8(0), U8(vector->GetIndex(slot3)), // |
| 5824 B(Star), R(2), // | 5824 B(Star), R(2), // |
| 5825 B(Star), R(5), // | 5825 B(Star), R(5), // |
| 5826 B(CallRuntime), U16(Runtime::kInlineIsJSReceiver), R(5), U8(1), // | 5826 B(IntrinsicOneArg), U16(Runtime::kInlineIsJSReceiver), R16(5), // |
| 5827 B(LogicalNot), // | 5827 B(LogicalNot), // |
| 5828 B(JumpIfFalse), U8(11), // | 5828 B(JumpIfFalse), U8(11), // |
| 5829 B(Ldar), R(2), // | 5829 B(Ldar), R(2), // |
| 5830 B(Star), R(5), // | 5830 B(Star), R(5), // |
| 5831 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), // | 5831 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), // |
| 5832 R(5), U8(1), // | 5832 R(5), U8(1), // |
| 5833 B(Ldar), R(2), // | 5833 B(Ldar), R(2), // |
| 5834 B(Star), R(5), // | 5834 B(Star), R(5), // |
| 5835 B(LoadICSloppy), R(5), U8(3), U8(vector->GetIndex(slot5)), // | 5835 B(LoadICSloppy), R(5), U8(3), U8(vector->GetIndex(slot5)), // |
| 5836 B(JumpIfToBooleanTrue), U8(15), // | 5836 B(JumpIfToBooleanTrue), U8(15), // |
| 5837 B(Ldar), R(2), // | 5837 B(Ldar), R(2), // |
| 5838 B(Star), R(5), // | 5838 B(Star), R(5), // |
| 5839 B(LoadICSloppy), R(5), U8(4), U8(vector->GetIndex(slot6)), // | 5839 B(LoadICSloppy), R(5), U8(4), U8(vector->GetIndex(slot6)), // |
| 5840 B(Star), R(0), // | 5840 B(Star), R(0), // |
| 5841 B(Star), R(4), // | 5841 B(Star), R(4), // |
| 5842 B(Return), // | 5842 B(Return), // |
| 5843 B(LdaUndefined), // | 5843 B(LdaUndefined), // |
| 5844 B(Return), // | 5844 B(Return), // |
| 5845 }, | 5845 }, |
| 5846 5, | 5846 5, |
| 5847 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 5847 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 5848 InstanceType::SYMBOL_TYPE, | 5848 InstanceType::SYMBOL_TYPE, |
| 5849 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 5849 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 5850 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 5850 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 5851 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 5851 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 5852 {"for (var x of [10, 20, 30]) {\n" | 5852 {"for (var x of [10, 20, 30]) {\n" |
| 5853 " if (x == 10) continue;\n" | 5853 " if (x == 10) continue;\n" |
| 5854 " if (x == 20) break;\n" | 5854 " if (x == 20) break;\n" |
| 5855 "}", | 5855 "}", |
| 5856 7 * kPointerSize, | 5856 7 * kPointerSize, |
| 5857 1, | 5857 1, |
| 5858 104, | 5858 104, |
| 5859 { | 5859 { |
| 5860 B(CreateArrayLiteral), U8(0), U8(0), U8(array_literal_flags), // | 5860 B(CreateArrayLiteral), U8(0), U8(0), U8(array_literal_flags), // |
| 5861 B(Star), R(5), // | 5861 B(Star), R(5), // |
| 5862 B(LdaConstant), U8(1), // | 5862 B(LdaConstant), U8(1), // |
| 5863 B(KeyedLoadICSloppy), R(5), U8(vector->GetIndex(slot2)), // | 5863 B(KeyedLoadICSloppy), R(5), U8(vector->GetIndex(slot2)), // |
| 5864 B(Star), R(4), // | 5864 B(Star), R(4), // |
| 5865 B(Call), R(4), R(5), U8(0), U8(vector->GetIndex(slot1)), // | 5865 B(Call), R(4), R(5), U8(0), U8(vector->GetIndex(slot1)), // |
| 5866 B(Star), R(1), // | 5866 B(Star), R(1), // |
| 5867 B(Ldar), R(1), // | 5867 B(Ldar), R(1), // |
| 5868 B(Star), R(6), // | 5868 B(Star), R(6), // |
| 5869 B(LoadICSloppy), R(6), U8(2), U8(vector->GetIndex(slot4)), // | 5869 B(LoadICSloppy), R(6), U8(2), U8(vector->GetIndex(slot4)), // |
| 5870 B(Star), R(5), // | 5870 B(Star), R(5), // |
| 5871 B(Call), R(5), R(6), U8(0), U8(vector->GetIndex(slot3)), // | 5871 B(Call), R(5), R(6), U8(0), U8(vector->GetIndex(slot3)), // |
| 5872 B(Star), R(2), // | 5872 B(Star), R(2), // |
| 5873 B(Star), R(4), // | 5873 B(Star), R(4), // |
| 5874 B(CallRuntime), U16(Runtime::kInlineIsJSReceiver), R(4), U8(1), // | 5874 B(IntrinsicOneArg), U16(Runtime::kInlineIsJSReceiver), R16(4), // |
| 5875 B(LogicalNot), // | 5875 B(LogicalNot), // |
| 5876 B(JumpIfFalse), U8(11), // | 5876 B(JumpIfFalse), U8(11), // |
| 5877 B(Ldar), R(2), // | 5877 B(Ldar), R(2), // |
| 5878 B(Star), R(4), // | 5878 B(Star), R(4), // |
| 5879 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), // | 5879 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), // |
| 5880 R(4), U8(1), // | 5880 R(4), U8(1), // |
| 5881 B(Ldar), R(2), // | 5881 B(Ldar), R(2), // |
| 5882 B(Star), R(4), // | 5882 B(Star), R(4), // |
| 5883 B(LoadICSloppy), R(4), U8(3), U8(vector->GetIndex(slot5)), // | 5883 B(LoadICSloppy), R(4), U8(3), U8(vector->GetIndex(slot5)), // |
| 5884 B(JumpIfToBooleanTrue), U8(38), // | 5884 B(JumpIfToBooleanTrue), U8(38), // |
| 5885 B(Ldar), R(2), // | 5885 B(Ldar), R(2), // |
| 5886 B(Star), R(4), // | 5886 B(Star), R(4), // |
| 5887 B(LoadICSloppy), R(4), U8(4), U8(vector->GetIndex(slot6)), // | 5887 B(LoadICSloppy), R(4), U8(4), U8(vector->GetIndex(slot6)), // |
| 5888 B(Star), R(0), // | 5888 B(Star), R(0), // |
| 5889 B(Star), R(3), // | 5889 B(Star), R(3), // |
| 5890 B(Star), R(4), // | 5890 B(Star), R(4), // |
| 5891 B(LdaSmi8), U8(10), // | 5891 B(LdaSmi8), U8(10), // |
| 5892 B(TestEqual), R(4), // | 5892 B(TestEqual), R(4), // |
| 5893 B(JumpIfFalse), U8(4), // | 5893 B(JumpIfFalse), U8(4), // |
| 5894 B(Jump), U8(-66), // | 5894 B(Jump), U8(-66), // |
| 5895 B(Ldar), R(3), // | 5895 B(Ldar), R(3), // |
| 5896 B(Star), R(4), // | 5896 B(Star), R(4), // |
| 5897 B(LdaSmi8), U8(20), // | 5897 B(LdaSmi8), U8(20), // |
| 5898 B(TestEqual), R(4), // | 5898 B(TestEqual), R(4), // |
| 5899 B(JumpIfFalse), U8(4), // | 5899 B(JumpIfFalse), U8(4), // |
| 5900 B(Jump), U8(4), // | 5900 B(Jump), U8(4), // |
| 5901 B(Jump), U8(-80), // | 5901 B(Jump), U8(-80), // |
| 5902 B(LdaUndefined), // | 5902 B(LdaUndefined), // |
| 5903 B(Return), // | 5903 B(Return), // |
| 5904 }, | 5904 }, |
| 5905 5, | 5905 5, |
| 5906 {InstanceType::FIXED_ARRAY_TYPE, InstanceType::SYMBOL_TYPE, | 5906 {InstanceType::FIXED_ARRAY_TYPE, InstanceType::SYMBOL_TYPE, |
| 5907 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 5907 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 5908 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 5908 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 5909 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 5909 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 5910 {"var x = { 'a': 1, 'b': 2 };\n" | 5910 {"var x = { 'a': 1, 'b': 2 };\n" |
| 5911 "for (x['a'] of [1,2,3]) { return x['a']; }", | 5911 "for (x['a'] of [1,2,3]) { return x['a']; }", |
| 5912 6 * kPointerSize, | 5912 6 * kPointerSize, |
| 5913 1, | 5913 1, |
| 5914 101, | 5914 101, |
| 5915 { | 5915 { |
| 5916 B(CreateObjectLiteral), U8(0), U8(0), U8(object_literal_flags), // | 5916 B(CreateObjectLiteral), U8(0), U8(0), U8(object_literal_flags), // |
| 5917 B(Star), R(3), // | 5917 B(Star), R(3), // |
| 5918 B(Star), R(2), // | 5918 B(Star), R(2), // |
| 5919 B(CreateArrayLiteral), U8(1), U8(1), U8(array_literal_flags), // | 5919 B(CreateArrayLiteral), U8(1), U8(1), U8(array_literal_flags), // |
| 5920 B(Star), R(4), // | 5920 B(Star), R(4), // |
| 5921 B(LdaConstant), U8(2), // | 5921 B(LdaConstant), U8(2), // |
| 5922 B(KeyedLoadICSloppy), R(4), U8(vector->GetIndex(slot2)), // | 5922 B(KeyedLoadICSloppy), R(4), U8(vector->GetIndex(slot2)), // |
| 5923 B(Star), R(3), // | 5923 B(Star), R(3), // |
| 5924 B(Call), R(3), R(4), U8(0), U8(vector->GetIndex(slot1)), // | 5924 B(Call), R(3), R(4), U8(0), U8(vector->GetIndex(slot1)), // |
| 5925 B(Star), R(0), // | 5925 B(Star), R(0), // |
| 5926 B(Ldar), R(0), // | 5926 B(Ldar), R(0), // |
| 5927 B(Star), R(5), // | 5927 B(Star), R(5), // |
| 5928 B(LoadICSloppy), R(5), U8(3), U8(vector->GetIndex(slot4)), // | 5928 B(LoadICSloppy), R(5), U8(3), U8(vector->GetIndex(slot4)), // |
| 5929 B(Star), R(4), // | 5929 B(Star), R(4), // |
| 5930 B(Call), R(4), R(5), U8(0), U8(vector->GetIndex(slot3)), // | 5930 B(Call), R(4), R(5), U8(0), U8(vector->GetIndex(slot3)), // |
| 5931 B(Star), R(1), // | 5931 B(Star), R(1), // |
| 5932 B(Star), R(3), // | 5932 B(Star), R(3), // |
| 5933 B(CallRuntime), U16(Runtime::kInlineIsJSReceiver), R(3), U8(1), // | 5933 B(IntrinsicOneArg), U16(Runtime::kInlineIsJSReceiver), R16(3), // |
| 5934 B(LogicalNot), // | 5934 B(LogicalNot), // |
| 5935 B(JumpIfFalse), U8(11), // | 5935 B(JumpIfFalse), U8(11), // |
| 5936 B(Ldar), R(1), // | 5936 B(Ldar), R(1), // |
| 5937 B(Star), R(3), // | 5937 B(Star), R(3), // |
| 5938 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), // | 5938 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), // |
| 5939 R(3), U8(1), // | 5939 R(3), U8(1), // |
| 5940 B(Ldar), R(1), // | 5940 B(Ldar), R(1), // |
| 5941 B(Star), R(3), // | 5941 B(Star), R(3), // |
| 5942 B(LoadICSloppy), R(3), U8(4), U8(vector->GetIndex(slot5)), // | 5942 B(LoadICSloppy), R(3), U8(4), U8(vector->GetIndex(slot5)), // |
| 5943 B(JumpIfToBooleanTrue), U8(27), // | 5943 B(JumpIfToBooleanTrue), U8(27), // |
| 5944 B(Ldar), R(2), // | 5944 B(Ldar), R(2), // |
| 5945 B(Star), R(3), // | 5945 B(Star), R(3), // |
| 5946 B(Ldar), R(1), // | 5946 B(Ldar), R(1), // |
| 5947 B(Star), R(4), // | 5947 B(Star), R(4), // |
| 5948 B(LoadICSloppy), R(4), U8(5), U8(vector->GetIndex(slot6)), // | 5948 B(LoadICSloppy), R(4), U8(5), U8(vector->GetIndex(slot6)), // |
| 5949 B(StoreICSloppy), R(3), U8(6), U8(vector->GetIndex(slot7)), // | 5949 B(StoreICSloppy), R(3), U8(6), U8(vector->GetIndex(slot7)), // |
| 5950 B(Ldar), R(2), // | 5950 B(Ldar), R(2), // |
| 5951 B(Star), R(3), // | 5951 B(Star), R(3), // |
| 5952 B(LoadICSloppy), R(3), U8(6), U8(vector->GetIndex(slot8)), // | 5952 B(LoadICSloppy), R(3), U8(6), U8(vector->GetIndex(slot8)), // |
| 5953 B(Return), // | 5953 B(Return), // |
| 5954 B(LdaUndefined), // | 5954 B(LdaUndefined), // |
| 5955 B(Return), // | 5955 B(Return), // |
| 5956 }, | 5956 }, |
| 5957 7, | 5957 7, |
| 5958 {InstanceType::FIXED_ARRAY_TYPE, | 5958 {InstanceType::FIXED_ARRAY_TYPE, InstanceType::FIXED_ARRAY_TYPE, |
| 5959 InstanceType::FIXED_ARRAY_TYPE, | |
| 5960 InstanceType::SYMBOL_TYPE, | 5959 InstanceType::SYMBOL_TYPE, |
| 5961 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 5960 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 5962 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 5961 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 5963 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 5962 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 5964 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 5963 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 5965 }; | 5964 }; |
| 5966 | 5965 |
| 5967 for (size_t i = 0; i < arraysize(snippets); i++) { | 5966 for (size_t i = 0; i < arraysize(snippets); i++) { |
| 5968 Handle<BytecodeArray> bytecode_array = | 5967 Handle<BytecodeArray> bytecode_array = |
| 5969 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet); | 5968 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet); |
| (...skipping 1589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7559 Handle<BytecodeArray> bytecode_array = | 7558 Handle<BytecodeArray> bytecode_array = |
| 7560 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet); | 7559 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet); |
| 7561 CheckBytecodeArrayEqual(snippets[i], bytecode_array); | 7560 CheckBytecodeArrayEqual(snippets[i], bytecode_array); |
| 7562 } | 7561 } |
| 7563 FLAG_harmony_do_expressions = old_flag; | 7562 FLAG_harmony_do_expressions = old_flag; |
| 7564 } | 7563 } |
| 7565 | 7564 |
| 7566 } // namespace interpreter | 7565 } // namespace interpreter |
| 7567 } // namespace internal | 7566 } // namespace internal |
| 7568 } // namespace v8 | 7567 } // namespace v8 |
| OLD | NEW |