| 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 // TODO(rmcilroy): Remove this define after this flag is turned on globally | 5 // TODO(rmcilroy): Remove this define after this flag is turned on globally |
| 6 #define V8_IMMINENT_DEPRECATION_WARNINGS | 6 #define V8_IMMINENT_DEPRECATION_WARNINGS |
| 7 | 7 |
| 8 #include "src/v8.h" | 8 #include "src/v8.h" |
| 9 | 9 |
| 10 #include "src/compiler.h" | 10 #include "src/compiler.h" |
| (...skipping 1586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1597 B(LdaSmi8), U8(2), // | 1597 B(LdaSmi8), U8(2), // |
| 1598 B(Star), R(1), // | 1598 B(Star), R(1), // |
| 1599 B(CallRuntime), U16(Runtime::kAdd), R(0), U8(2), // | 1599 B(CallRuntime), U16(Runtime::kAdd), R(0), U8(2), // |
| 1600 B(Return) // | 1600 B(Return) // |
| 1601 }, | 1601 }, |
| 1602 }, | 1602 }, |
| 1603 { | 1603 { |
| 1604 "function f() { return %spread_iterable([1]) }\nf()", | 1604 "function f() { return %spread_iterable([1]) }\nf()", |
| 1605 2 * kPointerSize, | 1605 2 * kPointerSize, |
| 1606 1, | 1606 1, |
| 1607 16, | 1607 15, |
| 1608 { | 1608 { |
| 1609 B(LdaUndefined), // | 1609 B(LdaUndefined), // |
| 1610 B(Star), R(0), // | 1610 B(Star), R(0), // |
| 1611 B(LdaConstant), U8(0), // | 1611 B(CreateArrayLiteral), U8(0), U8(0), U8(3), // |
| 1612 B(CreateArrayLiteral), U8(0), U8(3), // | |
| 1613 B(Star), R(1), // | 1612 B(Star), R(1), // |
| 1614 B(CallJSRuntime), U16(Context::SPREAD_ITERABLE_INDEX), R(0), // | 1613 B(CallJSRuntime), U16(Context::SPREAD_ITERABLE_INDEX), R(0), // |
| 1615 U8(1), // | 1614 U8(1), // |
| 1616 B(Return), // | 1615 B(Return), // |
| 1617 }, | 1616 }, |
| 1618 1, | 1617 1, |
| 1619 {InstanceType::FIXED_ARRAY_TYPE}, | 1618 {InstanceType::FIXED_ARRAY_TYPE}, |
| 1620 }, | 1619 }, |
| 1621 }; | 1620 }; |
| 1622 | 1621 |
| (...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2600 | 2599 |
| 2601 int deep_elements_flags = | 2600 int deep_elements_flags = |
| 2602 ObjectLiteral::kFastElements | ObjectLiteral::kDisableMementos; | 2601 ObjectLiteral::kFastElements | ObjectLiteral::kDisableMementos; |
| 2603 int closure = Register::function_closure().index(); | 2602 int closure = Register::function_closure().index(); |
| 2604 int first_context_slot = Context::MIN_CONTEXT_SLOTS; | 2603 int first_context_slot = Context::MIN_CONTEXT_SLOTS; |
| 2605 | 2604 |
| 2606 ExpectedSnippet<InstanceType> snippets[] = { | 2605 ExpectedSnippet<InstanceType> snippets[] = { |
| 2607 {"var a = {x:13, y:14}; return delete a.x;", | 2606 {"var a = {x:13, y:14}; return delete a.x;", |
| 2608 1 * kPointerSize, | 2607 1 * kPointerSize, |
| 2609 1, | 2608 1, |
| 2610 12, | 2609 11, |
| 2611 { | 2610 { |
| 2612 B(LdaConstant), U8(0), // | 2611 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 2613 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 2612 B(Star), R(0), // |
| 2614 B(Star), R(0), // | 2613 B(LdaConstant), U8(1), // |
| 2615 B(LdaConstant), U8(1), // | 2614 B(DeletePropertySloppy), R(0), // |
| 2616 B(DeletePropertySloppy), R(0), // | |
| 2617 B(Return) | 2615 B(Return) |
| 2618 }, | 2616 }, |
| 2619 2, | 2617 2, |
| 2620 {InstanceType::FIXED_ARRAY_TYPE, | 2618 {InstanceType::FIXED_ARRAY_TYPE, |
| 2621 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 2619 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 2622 {"'use strict'; var a = {x:13, y:14}; return delete a.x;", | 2620 {"'use strict'; var a = {x:13, y:14}; return delete a.x;", |
| 2623 1 * kPointerSize, | 2621 1 * kPointerSize, |
| 2624 1, | 2622 1, |
| 2625 12, | 2623 11, |
| 2626 { | 2624 { |
| 2627 B(LdaConstant), U8(0), // | 2625 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 2628 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 2626 B(Star), R(0), // |
| 2629 B(Star), R(0), // | 2627 B(LdaConstant), U8(1), // |
| 2630 B(LdaConstant), U8(1), // | 2628 B(DeletePropertyStrict), R(0), // |
| 2631 B(DeletePropertyStrict), R(0), // | |
| 2632 B(Return) | 2629 B(Return) |
| 2633 }, | 2630 }, |
| 2634 2, | 2631 2, |
| 2635 {InstanceType::FIXED_ARRAY_TYPE, | 2632 {InstanceType::FIXED_ARRAY_TYPE, |
| 2636 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 2633 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 2637 {"var a = {1:13, 2:14}; return delete a[2];", | 2634 {"var a = {1:13, 2:14}; return delete a[2];", |
| 2638 1 * kPointerSize, | 2635 1 * kPointerSize, |
| 2639 1, | 2636 1, |
| 2640 12, | 2637 11, |
| 2641 { | 2638 { |
| 2642 B(LdaConstant), U8(0), // | 2639 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 2643 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 2640 B(Star), R(0), // |
| 2644 B(Star), R(0), // | 2641 B(LdaSmi8), U8(2), // |
| 2645 B(LdaSmi8), U8(2), // | 2642 B(DeletePropertySloppy), R(0), // |
| 2646 B(DeletePropertySloppy), R(0), // | |
| 2647 B(Return) | 2643 B(Return) |
| 2648 }, | 2644 }, |
| 2649 1, | 2645 1, |
| 2650 {InstanceType::FIXED_ARRAY_TYPE}}, | 2646 {InstanceType::FIXED_ARRAY_TYPE}}, |
| 2651 {"var a = 10; return delete a;", | 2647 {"var a = 10; return delete a;", |
| 2652 1 * kPointerSize, | 2648 1 * kPointerSize, |
| 2653 1, | 2649 1, |
| 2654 6, | 2650 6, |
| 2655 { | 2651 { |
| 2656 B(LdaSmi8), U8(10), // | 2652 B(LdaSmi8), U8(10), // |
| 2657 B(Star), R(0), // | 2653 B(Star), R(0), // |
| 2658 B(LdaFalse), // | 2654 B(LdaFalse), // |
| 2659 B(Return) | 2655 B(Return) |
| 2660 }, | 2656 }, |
| 2661 0}, | 2657 0}, |
| 2662 {"'use strict';" | 2658 {"'use strict';" |
| 2663 "var a = {1:10};" | 2659 "var a = {1:10};" |
| 2664 "(function f1() {return a;});" | 2660 "(function f1() {return a;});" |
| 2665 "return delete a[1];", | 2661 "return delete a[1];", |
| 2666 2 * kPointerSize, | 2662 2 * kPointerSize, |
| 2667 1, | 2663 1, |
| 2668 28, | 2664 27, |
| 2669 { | 2665 { |
| 2670 B(CallRuntime), U16(Runtime::kNewFunctionContext), // | 2666 B(CallRuntime), U16(Runtime::kNewFunctionContext), // |
| 2671 R(closure), U8(1), // | 2667 R(closure), U8(1), // |
| 2672 B(PushContext), R(0), // | 2668 B(PushContext), R(0), // |
| 2673 B(LdaConstant), U8(0), // | 2669 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 2674 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 2670 B(StaContextSlot), R(0), U8(first_context_slot), // |
| 2675 B(StaContextSlot), R(0), U8(first_context_slot), // | 2671 B(CreateClosure), U8(1), U8(0), // |
| 2676 B(CreateClosure), U8(1), U8(0), // | 2672 B(LdaContextSlot), R(0), U8(first_context_slot), // |
| 2677 B(LdaContextSlot), R(0), U8(first_context_slot), // | 2673 B(Star), R(1), // |
| 2678 B(Star), R(1), // | 2674 B(LdaSmi8), U8(1), // |
| 2679 B(LdaSmi8), U8(1), // | 2675 B(DeletePropertyStrict), R(1), // |
| 2680 B(DeletePropertyStrict), R(1), // | |
| 2681 B(Return) | 2676 B(Return) |
| 2682 }, | 2677 }, |
| 2683 2, | 2678 2, |
| 2684 {InstanceType::FIXED_ARRAY_TYPE, | 2679 {InstanceType::FIXED_ARRAY_TYPE, |
| 2685 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 2680 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, |
| 2686 {"return delete 'test';", | 2681 {"return delete 'test';", |
| 2687 0 * kPointerSize, | 2682 0 * kPointerSize, |
| 2688 1, | 2683 1, |
| 2689 2, | 2684 2, |
| 2690 { | 2685 { |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2848 FeedbackVectorSlot slot2 = feedback_spec.AddLoadICSlot(); | 2843 FeedbackVectorSlot slot2 = feedback_spec.AddLoadICSlot(); |
| 2849 uint8_t i_flags = JSRegExp::kIgnoreCase; | 2844 uint8_t i_flags = JSRegExp::kIgnoreCase; |
| 2850 | 2845 |
| 2851 Handle<i::TypeFeedbackVector> vector = | 2846 Handle<i::TypeFeedbackVector> vector = |
| 2852 i::NewTypeFeedbackVector(helper.isolate(), &feedback_spec); | 2847 i::NewTypeFeedbackVector(helper.isolate(), &feedback_spec); |
| 2853 | 2848 |
| 2854 ExpectedSnippet<const char*> snippets[] = { | 2849 ExpectedSnippet<const char*> snippets[] = { |
| 2855 {"return /ab+d/;", | 2850 {"return /ab+d/;", |
| 2856 0 * kPointerSize, | 2851 0 * kPointerSize, |
| 2857 1, | 2852 1, |
| 2858 6, | 2853 5, |
| 2859 { | 2854 { |
| 2860 B(LdaConstant), U8(0), // | 2855 B(CreateRegExpLiteral), U8(0), U8(0), U8(0), // |
| 2861 B(CreateRegExpLiteral), U8(0), U8(0), // | 2856 B(Return), // |
| 2862 B(Return), // | |
| 2863 }, | 2857 }, |
| 2864 1, | 2858 1, |
| 2865 {"ab+d"}}, | 2859 {"ab+d"}}, |
| 2866 {"return /(\\w+)\\s(\\w+)/i;", | 2860 {"return /(\\w+)\\s(\\w+)/i;", |
| 2867 0 * kPointerSize, | 2861 0 * kPointerSize, |
| 2868 1, | 2862 1, |
| 2869 6, | 2863 5, |
| 2870 { | 2864 { |
| 2871 B(LdaConstant), U8(0), // | 2865 B(CreateRegExpLiteral), U8(0), U8(0), U8(i_flags), // |
| 2872 B(CreateRegExpLiteral), U8(0), U8(i_flags), // | 2866 B(Return), // |
| 2873 B(Return), // | |
| 2874 }, | 2867 }, |
| 2875 1, | 2868 1, |
| 2876 {"(\\w+)\\s(\\w+)"}}, | 2869 {"(\\w+)\\s(\\w+)"}}, |
| 2877 {"return /ab+d/.exec('abdd');", | 2870 {"return /ab+d/.exec('abdd');", |
| 2878 3 * kPointerSize, | 2871 3 * kPointerSize, |
| 2879 1, | 2872 1, |
| 2880 23, | 2873 22, |
| 2881 { | 2874 { |
| 2882 B(LdaConstant), U8(0), // | 2875 B(CreateRegExpLiteral), U8(0), U8(0), U8(0), // |
| 2883 B(CreateRegExpLiteral), U8(0), U8(0), // | |
| 2884 B(Star), R(1), // | 2876 B(Star), R(1), // |
| 2885 B(LoadICSloppy), R(1), U8(1), U8(vector->GetIndex(slot2)), // | 2877 B(LoadICSloppy), R(1), U8(1), U8(vector->GetIndex(slot2)), // |
| 2886 B(Star), R(0), // | 2878 B(Star), R(0), // |
| 2887 B(LdaConstant), U8(2), // | 2879 B(LdaConstant), U8(2), // |
| 2888 B(Star), R(2), // | 2880 B(Star), R(2), // |
| 2889 B(Call), R(0), R(1), U8(1), U8(vector->GetIndex(slot1)), // | 2881 B(Call), R(0), R(1), U8(1), U8(vector->GetIndex(slot1)), // |
| 2890 B(Return), // | 2882 B(Return), // |
| 2891 }, | 2883 }, |
| 2892 3, | 2884 3, |
| 2893 {"ab+d", "exec", "abdd"}}, | 2885 {"ab+d", "exec", "abdd"}}, |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2914 Handle<i::TypeFeedbackVector> vector = | 2906 Handle<i::TypeFeedbackVector> vector = |
| 2915 i::NewTypeFeedbackVector(helper.isolate(), &feedback_spec); | 2907 i::NewTypeFeedbackVector(helper.isolate(), &feedback_spec); |
| 2916 | 2908 |
| 2917 int simple_flags = | 2909 int simple_flags = |
| 2918 ArrayLiteral::kDisableMementos | ArrayLiteral::kShallowElements; | 2910 ArrayLiteral::kDisableMementos | ArrayLiteral::kShallowElements; |
| 2919 int deep_elements_flags = ArrayLiteral::kDisableMementos; | 2911 int deep_elements_flags = ArrayLiteral::kDisableMementos; |
| 2920 ExpectedSnippet<InstanceType> snippets[] = { | 2912 ExpectedSnippet<InstanceType> snippets[] = { |
| 2921 {"return [ 1, 2 ];", | 2913 {"return [ 1, 2 ];", |
| 2922 0, | 2914 0, |
| 2923 1, | 2915 1, |
| 2924 6, | 2916 5, |
| 2925 { | 2917 { |
| 2926 B(LdaConstant), U8(0), // | 2918 B(CreateArrayLiteral), U8(0), U8(0), U8(simple_flags), // |
| 2927 B(CreateArrayLiteral), U8(0), U8(simple_flags), // | 2919 B(Return) // |
| 2928 B(Return) // | |
| 2929 }, | 2920 }, |
| 2930 1, | 2921 1, |
| 2931 {InstanceType::FIXED_ARRAY_TYPE}}, | 2922 {InstanceType::FIXED_ARRAY_TYPE}}, |
| 2932 {"var a = 1; return [ a, a + 1 ];", | 2923 {"var a = 1; return [ a, a + 1 ];", |
| 2933 3 * kPointerSize, | 2924 3 * kPointerSize, |
| 2934 1, | 2925 1, |
| 2935 35, | 2926 34, |
| 2936 { | 2927 { |
| 2937 B(LdaSmi8), U8(1), // | 2928 B(LdaSmi8), U8(1), // |
| 2938 B(Star), R(0), // | 2929 B(Star), R(0), // |
| 2939 B(LdaConstant), U8(0), // | 2930 B(CreateArrayLiteral), U8(0), U8(0), U8(3), // |
| 2940 B(CreateArrayLiteral), U8(0), U8(3), // | |
| 2941 B(Star), R(2), // | 2931 B(Star), R(2), // |
| 2942 B(LdaZero), // | 2932 B(LdaZero), // |
| 2943 B(Star), R(1), // | 2933 B(Star), R(1), // |
| 2944 B(Ldar), R(0), // | 2934 B(Ldar), R(0), // |
| 2945 B(KeyedStoreICSloppy), R(2), R(1), U8(vector->GetIndex(slot1)), // | 2935 B(KeyedStoreICSloppy), R(2), R(1), U8(vector->GetIndex(slot1)), // |
| 2946 B(LdaSmi8), U8(1), // | 2936 B(LdaSmi8), U8(1), // |
| 2947 B(Star), R(1), // | 2937 B(Star), R(1), // |
| 2948 B(LdaSmi8), U8(1), // | 2938 B(LdaSmi8), U8(1), // |
| 2949 B(Add), R(0), // | 2939 B(Add), R(0), // |
| 2950 B(KeyedStoreICSloppy), R(2), R(1), U8(vector->GetIndex(slot1)), // | 2940 B(KeyedStoreICSloppy), R(2), R(1), U8(vector->GetIndex(slot1)), // |
| 2951 B(Ldar), R(2), // | 2941 B(Ldar), R(2), // |
| 2952 B(Return), // | 2942 B(Return), // |
| 2953 }, | 2943 }, |
| 2954 1, | 2944 1, |
| 2955 {InstanceType::FIXED_ARRAY_TYPE}}, | 2945 {InstanceType::FIXED_ARRAY_TYPE}}, |
| 2956 {"return [ [ 1, 2 ], [ 3 ] ];", | 2946 {"return [ [ 1, 2 ], [ 3 ] ];", |
| 2957 0, | 2947 0, |
| 2958 1, | 2948 1, |
| 2959 6, | 2949 5, |
| 2960 { | 2950 { |
| 2961 B(LdaConstant), U8(0), // | 2951 B(CreateArrayLiteral), U8(0), U8(2), U8(deep_elements_flags), // |
| 2962 B(CreateArrayLiteral), U8(2), U8(deep_elements_flags), // | 2952 B(Return) // |
| 2963 B(Return) // | |
| 2964 }, | 2953 }, |
| 2965 1, | 2954 1, |
| 2966 {InstanceType::FIXED_ARRAY_TYPE}}, | 2955 {InstanceType::FIXED_ARRAY_TYPE}}, |
| 2967 {"var a = 1; return [ [ a, 2 ], [ a + 2 ] ];", | 2956 {"var a = 1; return [ [ a, 2 ], [ a + 2 ] ];", |
| 2968 5 * kPointerSize, | 2957 5 * kPointerSize, |
| 2969 1, | 2958 1, |
| 2970 67, | 2959 64, |
| 2971 { | 2960 { |
| 2972 B(LdaSmi8), U8(1), // | 2961 B(LdaSmi8), U8(1), // |
| 2973 B(Star), R(0), // | 2962 B(Star), R(0), // |
| 2974 B(LdaConstant), U8(0), // | 2963 B(CreateArrayLiteral), U8(0), U8(2), U8(deep_elements_flags), // |
| 2975 B(CreateArrayLiteral), U8(2), U8(deep_elements_flags), // | |
| 2976 B(Star), R(2), // | 2964 B(Star), R(2), // |
| 2977 B(LdaZero), // | 2965 B(LdaZero), // |
| 2978 B(Star), R(1), // | 2966 B(Star), R(1), // |
| 2979 B(LdaConstant), U8(1), // | 2967 B(CreateArrayLiteral), U8(1), U8(0), U8(simple_flags), // |
| 2980 B(CreateArrayLiteral), U8(0), U8(simple_flags), // | |
| 2981 B(Star), R(4), // | 2968 B(Star), R(4), // |
| 2982 B(LdaZero), // | 2969 B(LdaZero), // |
| 2983 B(Star), R(3), // | 2970 B(Star), R(3), // |
| 2984 B(Ldar), R(0), // | 2971 B(Ldar), R(0), // |
| 2985 B(KeyedStoreICSloppy), R(4), R(3), U8(vector->GetIndex(slot1)), // | 2972 B(KeyedStoreICSloppy), R(4), R(3), U8(vector->GetIndex(slot1)), // |
| 2986 B(Ldar), R(4), // | 2973 B(Ldar), R(4), // |
| 2987 B(KeyedStoreICSloppy), R(2), R(1), U8(vector->GetIndex(slot3)), // | 2974 B(KeyedStoreICSloppy), R(2), R(1), U8(vector->GetIndex(slot3)), // |
| 2988 B(LdaSmi8), U8(1), // | 2975 B(LdaSmi8), U8(1), // |
| 2989 B(Star), R(1), // | 2976 B(Star), R(1), // |
| 2990 B(LdaConstant), U8(2), // | 2977 B(CreateArrayLiteral), U8(2), U8(1), U8(simple_flags), // |
| 2991 B(CreateArrayLiteral), U8(1), U8(simple_flags), // | |
| 2992 B(Star), R(4), // | 2978 B(Star), R(4), // |
| 2993 B(LdaZero), // | 2979 B(LdaZero), // |
| 2994 B(Star), R(3), // | 2980 B(Star), R(3), // |
| 2995 B(LdaSmi8), U8(2), // | 2981 B(LdaSmi8), U8(2), // |
| 2996 B(Add), R(0), // | 2982 B(Add), R(0), // |
| 2997 B(KeyedStoreICSloppy), R(4), R(3), U8(vector->GetIndex(slot2)), // | 2983 B(KeyedStoreICSloppy), R(4), R(3), U8(vector->GetIndex(slot2)), // |
| 2998 B(Ldar), R(4), // | 2984 B(Ldar), R(4), // |
| 2999 B(KeyedStoreICSloppy), R(2), R(1), U8(vector->GetIndex(slot3)), // | 2985 B(KeyedStoreICSloppy), R(2), R(1), U8(vector->GetIndex(slot3)), // |
| 3000 B(Ldar), R(2), // | 2986 B(Ldar), R(2), // |
| 3001 B(Return), // | 2987 B(Return), // |
| (...skipping 24 matching lines...) Expand all Loading... |
| 3026 | 3012 |
| 3027 int simple_flags = ObjectLiteral::kFastElements | | 3013 int simple_flags = ObjectLiteral::kFastElements | |
| 3028 ObjectLiteral::kShallowProperties | | 3014 ObjectLiteral::kShallowProperties | |
| 3029 ObjectLiteral::kDisableMementos; | 3015 ObjectLiteral::kDisableMementos; |
| 3030 int deep_elements_flags = | 3016 int deep_elements_flags = |
| 3031 ObjectLiteral::kFastElements | ObjectLiteral::kDisableMementos; | 3017 ObjectLiteral::kFastElements | ObjectLiteral::kDisableMementos; |
| 3032 ExpectedSnippet<InstanceType> snippets[] = { | 3018 ExpectedSnippet<InstanceType> snippets[] = { |
| 3033 {"return { };", | 3019 {"return { };", |
| 3034 0, | 3020 0, |
| 3035 1, | 3021 1, |
| 3036 6, | 3022 5, |
| 3037 { | 3023 { |
| 3038 B(LdaConstant), U8(0), // | 3024 B(CreateObjectLiteral), U8(0), U8(0), U8(simple_flags), // |
| 3039 B(CreateObjectLiteral), U8(0), U8(simple_flags), // | 3025 B(Return) // |
| 3040 B(Return) // | |
| 3041 }, | 3026 }, |
| 3042 1, | 3027 1, |
| 3043 {InstanceType::FIXED_ARRAY_TYPE}}, | 3028 {InstanceType::FIXED_ARRAY_TYPE}}, |
| 3044 {"return { name: 'string', val: 9.2 };", | 3029 {"return { name: 'string', val: 9.2 };", |
| 3045 0, | 3030 0, |
| 3046 1, | 3031 1, |
| 3047 6, | 3032 5, |
| 3048 { | 3033 { |
| 3049 B(LdaConstant), U8(0), // | 3034 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 3050 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 3035 B(Return) // |
| 3051 B(Return) // | |
| 3052 }, | 3036 }, |
| 3053 1, | 3037 1, |
| 3054 {InstanceType::FIXED_ARRAY_TYPE}}, | 3038 {InstanceType::FIXED_ARRAY_TYPE}}, |
| 3055 {"var a = 1; return { name: 'string', val: a };", | 3039 {"var a = 1; return { name: 'string', val: a };", |
| 3056 2 * kPointerSize, | 3040 2 * kPointerSize, |
| 3057 1, | 3041 1, |
| 3058 20, | 3042 19, |
| 3059 { | 3043 { |
| 3060 B(LdaSmi8), U8(1), // | 3044 B(LdaSmi8), U8(1), // |
| 3061 B(Star), R(0), // | 3045 B(Star), R(0), // |
| 3062 B(LdaConstant), U8(0), // | 3046 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 3063 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 3047 B(Star), R(1), // |
| 3064 B(Star), R(1), // | 3048 B(Ldar), R(0), // |
| 3065 B(Ldar), R(0), // | 3049 B(StoreICSloppy), R(1), U8(1), U8(vector->GetIndex(slot1)), // |
| 3066 B(StoreICSloppy), R(1), U8(1), U8(vector->GetIndex(slot1)), // | 3050 B(Ldar), R(1), // |
| 3067 B(Ldar), R(1), // | 3051 B(Return), // |
| 3068 B(Return), // | |
| 3069 }, | 3052 }, |
| 3070 2, | 3053 2, |
| 3071 {InstanceType::FIXED_ARRAY_TYPE, | 3054 {InstanceType::FIXED_ARRAY_TYPE, |
| 3072 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 3055 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 3073 {"var a = 1; return { val: a, val: a + 1 };", | 3056 {"var a = 1; return { val: a, val: a + 1 };", |
| 3074 2 * kPointerSize, | 3057 2 * kPointerSize, |
| 3075 1, | 3058 1, |
| 3076 22, | 3059 21, |
| 3077 { | 3060 { |
| 3078 B(LdaSmi8), U8(1), // | 3061 B(LdaSmi8), U8(1), // |
| 3079 B(Star), R(0), // | 3062 B(Star), R(0), // |
| 3080 B(LdaConstant), U8(0), // | 3063 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 3081 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 3064 B(Star), R(1), // |
| 3082 B(Star), R(1), // | 3065 B(LdaSmi8), U8(1), // |
| 3083 B(LdaSmi8), U8(1), // | 3066 B(Add), R(0), // |
| 3084 B(Add), R(0), // | 3067 B(StoreICSloppy), R(1), U8(1), U8(vector->GetIndex(slot1)), // |
| 3085 B(StoreICSloppy), R(1), U8(1), U8(vector->GetIndex(slot1)), // | 3068 B(Ldar), R(1), // |
| 3086 B(Ldar), R(1), // | 3069 B(Return), // |
| 3087 B(Return), // | |
| 3088 }, | 3070 }, |
| 3089 2, | 3071 2, |
| 3090 {InstanceType::FIXED_ARRAY_TYPE, | 3072 {InstanceType::FIXED_ARRAY_TYPE, |
| 3091 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 3073 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 3092 {"return { func: function() { } };", | 3074 {"return { func: function() { } };", |
| 3093 1 * kPointerSize, | 3075 1 * kPointerSize, |
| 3094 1, | 3076 1, |
| 3095 17, | 3077 16, |
| 3096 { | 3078 { |
| 3097 B(LdaConstant), U8(0), // | 3079 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 3098 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 3080 B(Star), R(0), // |
| 3099 B(Star), R(0), // | 3081 B(CreateClosure), U8(2), U8(0), // |
| 3100 B(CreateClosure), U8(2), U8(0), // | 3082 B(StoreICSloppy), R(0), U8(1), U8(vector->GetIndex(slot1)), // |
| 3101 B(StoreICSloppy), R(0), U8(1), U8(vector->GetIndex(slot1)), // | 3083 B(Ldar), R(0), // |
| 3102 B(Ldar), R(0), // | 3084 B(Return), // |
| 3103 B(Return), // | |
| 3104 }, | 3085 }, |
| 3105 3, | 3086 3, |
| 3106 {InstanceType::FIXED_ARRAY_TYPE, | 3087 {InstanceType::FIXED_ARRAY_TYPE, |
| 3107 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 3088 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 3108 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 3089 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, |
| 3109 {"return { func(a) { return a; } };", | 3090 {"return { func(a) { return a; } };", |
| 3110 1 * kPointerSize, | 3091 1 * kPointerSize, |
| 3111 1, | 3092 1, |
| 3112 17, | 3093 16, |
| 3113 { | 3094 { |
| 3114 B(LdaConstant), U8(0), // | 3095 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 3115 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 3096 B(Star), R(0), // |
| 3116 B(Star), R(0), // | 3097 B(CreateClosure), U8(2), U8(0), // |
| 3117 B(CreateClosure), U8(2), U8(0), // | 3098 B(StoreICSloppy), R(0), U8(1), U8(vector->GetIndex(slot1)), // |
| 3118 B(StoreICSloppy), R(0), U8(1), U8(vector->GetIndex(slot1)), // | 3099 B(Ldar), R(0), // |
| 3119 B(Ldar), R(0), // | 3100 B(Return), // |
| 3120 B(Return), // | |
| 3121 }, | 3101 }, |
| 3122 3, | 3102 3, |
| 3123 {InstanceType::FIXED_ARRAY_TYPE, | 3103 {InstanceType::FIXED_ARRAY_TYPE, |
| 3124 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 3104 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 3125 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 3105 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, |
| 3126 {"return { get a() { return 2; } };", | 3106 {"return { get a() { return 2; } };", |
| 3127 5 * kPointerSize, | 3107 5 * kPointerSize, |
| 3128 1, | 3108 1, |
| 3129 30, | 3109 29, |
| 3130 { | 3110 { |
| 3131 B(LdaConstant), U8(0), // | 3111 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 3132 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | |
| 3133 B(Star), R(0), // | 3112 B(Star), R(0), // |
| 3134 B(LdaConstant), U8(1), // | 3113 B(LdaConstant), U8(1), // |
| 3135 B(Star), R(1), // | 3114 B(Star), R(1), // |
| 3136 B(CreateClosure), U8(2), U8(0), // | 3115 B(CreateClosure), U8(2), U8(0), // |
| 3137 B(Star), R(2), // | 3116 B(Star), R(2), // |
| 3138 B(LdaNull), // | 3117 B(LdaNull), // |
| 3139 B(Star), R(3), // | 3118 B(Star), R(3), // |
| 3140 B(LdaZero), // | 3119 B(LdaZero), // |
| 3141 B(Star), R(4), // | 3120 B(Star), R(4), // |
| 3142 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // | 3121 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // |
| 3143 R(0), U8(5), // | 3122 R(0), U8(5), // |
| 3144 B(Ldar), R(0), // | 3123 B(Ldar), R(0), // |
| 3145 B(Return), // | 3124 B(Return), // |
| 3146 }, | 3125 }, |
| 3147 3, | 3126 3, |
| 3148 {InstanceType::FIXED_ARRAY_TYPE, | 3127 {InstanceType::FIXED_ARRAY_TYPE, |
| 3149 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 3128 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 3150 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 3129 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, |
| 3151 {"return { get a() { return this.x; }, set a(val) { this.x = val } };", | 3130 {"return { get a() { return this.x; }, set a(val) { this.x = val } };", |
| 3152 5 * kPointerSize, | 3131 5 * kPointerSize, |
| 3153 1, | 3132 1, |
| 3154 32, | 3133 31, |
| 3155 { | 3134 { |
| 3156 B(LdaConstant), U8(0), // | 3135 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 3157 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | |
| 3158 B(Star), R(0), // | 3136 B(Star), R(0), // |
| 3159 B(LdaConstant), U8(1), // | 3137 B(LdaConstant), U8(1), // |
| 3160 B(Star), R(1), // | 3138 B(Star), R(1), // |
| 3161 B(CreateClosure), U8(2), U8(0), // | 3139 B(CreateClosure), U8(2), U8(0), // |
| 3162 B(Star), R(2), // | 3140 B(Star), R(2), // |
| 3163 B(CreateClosure), U8(3), U8(0), // | 3141 B(CreateClosure), U8(3), U8(0), // |
| 3164 B(Star), R(3), // | 3142 B(Star), R(3), // |
| 3165 B(LdaZero), // | 3143 B(LdaZero), // |
| 3166 B(Star), R(4), // | 3144 B(Star), R(4), // |
| 3167 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // | 3145 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // |
| 3168 R(0), U8(5), // | 3146 R(0), U8(5), // |
| 3169 B(Ldar), R(0), // | 3147 B(Ldar), R(0), // |
| 3170 B(Return), // | 3148 B(Return), // |
| 3171 }, | 3149 }, |
| 3172 4, | 3150 4, |
| 3173 {InstanceType::FIXED_ARRAY_TYPE, | 3151 {InstanceType::FIXED_ARRAY_TYPE, |
| 3174 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 3152 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 3175 InstanceType::SHARED_FUNCTION_INFO_TYPE, | 3153 InstanceType::SHARED_FUNCTION_INFO_TYPE, |
| 3176 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 3154 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, |
| 3177 {"return { set b(val) { this.y = val } };", | 3155 {"return { set b(val) { this.y = val } };", |
| 3178 5 * kPointerSize, | 3156 5 * kPointerSize, |
| 3179 1, | 3157 1, |
| 3180 30, | 3158 29, |
| 3181 { | 3159 { |
| 3182 B(LdaConstant), U8(0), // | 3160 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 3183 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | |
| 3184 B(Star), R(0), // | 3161 B(Star), R(0), // |
| 3185 B(LdaConstant), U8(1), // | 3162 B(LdaConstant), U8(1), // |
| 3186 B(Star), R(1), // | 3163 B(Star), R(1), // |
| 3187 B(LdaNull), // | 3164 B(LdaNull), // |
| 3188 B(Star), R(2), // | 3165 B(Star), R(2), // |
| 3189 B(CreateClosure), U8(2), U8(0), // | 3166 B(CreateClosure), U8(2), U8(0), // |
| 3190 B(Star), R(3), // | 3167 B(Star), R(3), // |
| 3191 B(LdaZero), // | 3168 B(LdaZero), // |
| 3192 B(Star), R(4), // | 3169 B(Star), R(4), // |
| 3193 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // | 3170 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // |
| 3194 R(0), U8(5), // | 3171 R(0), U8(5), // |
| 3195 B(Ldar), R(0), // | 3172 B(Ldar), R(0), // |
| 3196 B(Return), // | 3173 B(Return), // |
| 3197 }, | 3174 }, |
| 3198 3, | 3175 3, |
| 3199 {InstanceType::FIXED_ARRAY_TYPE, | 3176 {InstanceType::FIXED_ARRAY_TYPE, |
| 3200 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 3177 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 3201 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 3178 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, |
| 3202 {"var a = 1; return { 1: a };", | 3179 {"var a = 1; return { 1: a };", |
| 3203 5 * kPointerSize, | 3180 5 * kPointerSize, |
| 3204 1, | 3181 1, |
| 3205 30, | 3182 29, |
| 3206 { | 3183 { |
| 3207 B(LdaSmi8), U8(1), // | 3184 B(LdaSmi8), U8(1), // |
| 3208 B(Star), R(0), // | 3185 B(Star), R(0), // |
| 3209 B(LdaConstant), U8(0), // | 3186 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 3210 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 3187 B(Star), R(1), // |
| 3211 B(Star), R(1), // | 3188 B(LdaSmi8), U8(1), // |
| 3212 B(LdaSmi8), U8(1), // | 3189 B(Star), R(2), // |
| 3213 B(Star), R(2), // | 3190 B(Ldar), R(0), // |
| 3214 B(Ldar), R(0), // | 3191 B(Star), R(3), // |
| 3215 B(Star), R(3), // | 3192 B(LdaZero), // |
| 3216 B(LdaZero), // | 3193 B(Star), R(4), // |
| 3217 B(Star), R(4), // | 3194 B(CallRuntime), U16(Runtime::kSetProperty), R(1), U8(4), // |
| 3218 B(CallRuntime), U16(Runtime::kSetProperty), R(1), U8(4), // | 3195 B(Ldar), R(1), // |
| 3219 B(Ldar), R(1), // | 3196 B(Return), // |
| 3220 B(Return), // | |
| 3221 }, | 3197 }, |
| 3222 1, | 3198 1, |
| 3223 {InstanceType::FIXED_ARRAY_TYPE}}, | 3199 {InstanceType::FIXED_ARRAY_TYPE}}, |
| 3224 {"return { __proto__: null }", | 3200 {"return { __proto__: null }", |
| 3225 2 * kPointerSize, | 3201 2 * kPointerSize, |
| 3226 1, | 3202 1, |
| 3227 18, | 3203 17, |
| 3228 { | 3204 { |
| 3229 B(LdaConstant), U8(0), // | 3205 B(CreateObjectLiteral), U8(0), U8(0), U8(simple_flags), // |
| 3230 B(CreateObjectLiteral), U8(0), U8(simple_flags), // | |
| 3231 B(Star), R(0), // | 3206 B(Star), R(0), // |
| 3232 B(LdaNull), B(Star), R(1), // | 3207 B(LdaNull), B(Star), R(1), // |
| 3233 B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(0), U8(2), // | 3208 B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(0), U8(2), // |
| 3234 B(Ldar), R(0), // | 3209 B(Ldar), R(0), // |
| 3235 B(Return), // | 3210 B(Return), // |
| 3236 }, | 3211 }, |
| 3237 1, | 3212 1, |
| 3238 {InstanceType::FIXED_ARRAY_TYPE}}, | 3213 {InstanceType::FIXED_ARRAY_TYPE}}, |
| 3239 {"var a = 'test'; return { [a]: 1 }", | 3214 {"var a = 'test'; return { [a]: 1 }", |
| 3240 5 * kPointerSize, | 3215 5 * kPointerSize, |
| 3241 1, | 3216 1, |
| 3242 31, | 3217 30, |
| 3243 { | 3218 { |
| 3244 B(LdaConstant), U8(0), // | 3219 B(LdaConstant), U8(0), // |
| 3245 B(Star), R(0), // | 3220 B(Star), R(0), // |
| 3246 B(LdaConstant), U8(1), // | 3221 B(CreateObjectLiteral), U8(1), U8(0), U8(simple_flags), // |
| 3247 B(CreateObjectLiteral), U8(0), U8(simple_flags), // | |
| 3248 B(Star), R(1), // | 3222 B(Star), R(1), // |
| 3249 B(Ldar), R(0), // | 3223 B(Ldar), R(0), // |
| 3250 B(ToName), // | 3224 B(ToName), // |
| 3251 B(Star), R(2), // | 3225 B(Star), R(2), // |
| 3252 B(LdaSmi8), U8(1), // | 3226 B(LdaSmi8), U8(1), // |
| 3253 B(Star), R(3), // | 3227 B(Star), R(3), // |
| 3254 B(LdaZero), // | 3228 B(LdaZero), // |
| 3255 B(Star), R(4), // | 3229 B(Star), R(4), // |
| 3256 B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1), // | 3230 B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1), // |
| 3257 U8(4), // | 3231 U8(4), // |
| 3258 B(Ldar), R(1), // | 3232 B(Ldar), R(1), // |
| 3259 B(Return), // | 3233 B(Return), // |
| 3260 }, | 3234 }, |
| 3261 2, | 3235 2, |
| 3262 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 3236 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 3263 InstanceType::FIXED_ARRAY_TYPE}}, | 3237 InstanceType::FIXED_ARRAY_TYPE}}, |
| 3264 {"var a = 'test'; return { val: a, [a]: 1 }", | 3238 {"var a = 'test'; return { val: a, [a]: 1 }", |
| 3265 5 * kPointerSize, | 3239 5 * kPointerSize, |
| 3266 1, | 3240 1, |
| 3267 37, | 3241 36, |
| 3268 { | 3242 { |
| 3269 B(LdaConstant), U8(0), // | 3243 B(LdaConstant), U8(0), // |
| 3270 B(Star), R(0), // | 3244 B(Star), R(0), // |
| 3271 B(LdaConstant), U8(1), // | 3245 B(CreateObjectLiteral), U8(1), U8(0), U8(deep_elements_flags), // |
| 3272 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | |
| 3273 B(Star), R(1), // | 3246 B(Star), R(1), // |
| 3274 B(Ldar), R(0), // | 3247 B(Ldar), R(0), // |
| 3275 B(StoreICSloppy), R(1), U8(2), U8(vector->GetIndex(slot1)), // | 3248 B(StoreICSloppy), R(1), U8(2), U8(vector->GetIndex(slot1)), // |
| 3276 B(Ldar), R(0), // | 3249 B(Ldar), R(0), // |
| 3277 B(ToName), // | 3250 B(ToName), // |
| 3278 B(Star), R(2), // | 3251 B(Star), R(2), // |
| 3279 B(LdaSmi8), U8(1), // | 3252 B(LdaSmi8), U8(1), // |
| 3280 B(Star), R(3), // | 3253 B(Star), R(3), // |
| 3281 B(LdaZero), // | 3254 B(LdaZero), // |
| 3282 B(Star), R(4), // | 3255 B(Star), R(4), // |
| 3283 B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1), // | 3256 B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1), // |
| 3284 U8(4), // | 3257 U8(4), // |
| 3285 B(Ldar), R(1), // | 3258 B(Ldar), R(1), // |
| 3286 B(Return), // | 3259 B(Return), // |
| 3287 }, | 3260 }, |
| 3288 3, | 3261 3, |
| 3289 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 3262 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 3290 InstanceType::FIXED_ARRAY_TYPE, | 3263 InstanceType::FIXED_ARRAY_TYPE, |
| 3291 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 3264 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 3292 {"var a = 'test'; return { [a]: 1, __proto__: {} }", | 3265 {"var a = 'test'; return { [a]: 1, __proto__: {} }", |
| 3293 5 * kPointerSize, | 3266 5 * kPointerSize, |
| 3294 1, | 3267 1, |
| 3295 43, | 3268 41, |
| 3296 { | 3269 { |
| 3297 B(LdaConstant), U8(0), // | 3270 B(LdaConstant), U8(0), // |
| 3298 B(Star), R(0), // | 3271 B(Star), R(0), // |
| 3299 B(LdaConstant), U8(1), // | 3272 B(CreateObjectLiteral), U8(1), U8(1), U8(simple_flags), // |
| 3300 B(CreateObjectLiteral), U8(1), U8(simple_flags), // | |
| 3301 B(Star), R(1), // | 3273 B(Star), R(1), // |
| 3302 B(Ldar), R(0), // | 3274 B(Ldar), R(0), // |
| 3303 B(ToName), // | 3275 B(ToName), // |
| 3304 B(Star), R(2), // | 3276 B(Star), R(2), // |
| 3305 B(LdaSmi8), U8(1), // | 3277 B(LdaSmi8), U8(1), // |
| 3306 B(Star), R(3), // | 3278 B(Star), R(3), // |
| 3307 B(LdaZero), // | 3279 B(LdaZero), // |
| 3308 B(Star), R(4), // | 3280 B(Star), R(4), // |
| 3309 B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1), // | 3281 B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1), // |
| 3310 U8(4), // | 3282 U8(4), // |
| 3311 B(LdaConstant), U8(1), // | 3283 B(CreateObjectLiteral), U8(1), U8(0), U8(13), // |
| 3312 B(CreateObjectLiteral), U8(0), U8(13), // | |
| 3313 B(Star), R(2), // | 3284 B(Star), R(2), // |
| 3314 B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(1), U8(2), // | 3285 B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(1), U8(2), // |
| 3315 B(Ldar), R(1), // | 3286 B(Ldar), R(1), // |
| 3316 B(Return), // | 3287 B(Return), // |
| 3317 }, | 3288 }, |
| 3318 2, | 3289 2, |
| 3319 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 3290 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 3320 InstanceType::FIXED_ARRAY_TYPE}}, | 3291 InstanceType::FIXED_ARRAY_TYPE}}, |
| 3321 {"var n = 'name'; return { [n]: 'val', get a() { }, set a(b) {} };", | 3292 {"var n = 'name'; return { [n]: 'val', get a() { }, set a(b) {} };", |
| 3322 5 * kPointerSize, | 3293 5 * kPointerSize, |
| 3323 1, | 3294 1, |
| 3324 65, | 3295 64, |
| 3325 { | 3296 { |
| 3326 B(LdaConstant), U8(0), // | 3297 B(LdaConstant), U8(0), // |
| 3327 B(Star), R(0), // | 3298 B(Star), R(0), // |
| 3328 B(LdaConstant), U8(1), // | 3299 B(CreateObjectLiteral), U8(1), U8(0), U8(simple_flags), // |
| 3329 B(CreateObjectLiteral), U8(0), U8(simple_flags), // | |
| 3330 B(Star), R(1), // | 3300 B(Star), R(1), // |
| 3331 B(Ldar), R(0), // | 3301 B(Ldar), R(0), // |
| 3332 B(ToName), // | 3302 B(ToName), // |
| 3333 B(Star), R(2), // | 3303 B(Star), R(2), // |
| 3334 B(LdaConstant), U8(2), // | 3304 B(LdaConstant), U8(2), // |
| 3335 B(Star), R(3), // | 3305 B(Star), R(3), // |
| 3336 B(LdaZero), // | 3306 B(LdaZero), // |
| 3337 B(Star), R(4), // | 3307 B(Star), R(4), // |
| 3338 B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1), // | 3308 B(CallRuntime), U16(Runtime::kDefineDataPropertyUnchecked), R(1), // |
| 3339 U8(4), // | 3309 U8(4), // |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3377 InitializedHandleScope handle_scope; | 3347 InitializedHandleScope handle_scope; |
| 3378 BytecodeGeneratorHelper helper; | 3348 BytecodeGeneratorHelper helper; |
| 3379 | 3349 |
| 3380 int has_function_flags = ObjectLiteral::kFastElements | | 3350 int has_function_flags = ObjectLiteral::kFastElements | |
| 3381 ObjectLiteral::kHasFunction | | 3351 ObjectLiteral::kHasFunction | |
| 3382 ObjectLiteral::kDisableMementos; | 3352 ObjectLiteral::kDisableMementos; |
| 3383 ExpectedSnippet<InstanceType> snippets[] = { | 3353 ExpectedSnippet<InstanceType> snippets[] = { |
| 3384 {"var a = { func: function() { } };", | 3354 {"var a = { func: function() { } };", |
| 3385 5 * kPointerSize, | 3355 5 * kPointerSize, |
| 3386 1, | 3356 1, |
| 3387 49, | 3357 48, |
| 3388 { | 3358 { |
| 3389 B(LdaConstant), U8(0), // | 3359 B(LdaConstant), U8(0), // |
| 3390 B(Star), R(1), // | 3360 B(Star), R(1), // |
| 3391 B(LdaZero), // | 3361 B(LdaZero), // |
| 3392 B(Star), R(2), // | 3362 B(Star), R(2), // |
| 3393 B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2), // | 3363 B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2), // |
| 3394 B(LdaConstant), U8(1), // | 3364 B(LdaConstant), U8(1), // |
| 3395 B(Star), R(1), // | 3365 B(Star), R(1), // |
| 3396 B(LdaZero), // | 3366 B(LdaZero), // |
| 3397 B(Star), R(2), // | 3367 B(Star), R(2), // |
| 3398 B(LdaConstant), U8(2), // | 3368 B(CreateObjectLiteral), U8(2), U8(0), U8(has_function_flags), // |
| 3399 B(CreateObjectLiteral), U8(0), U8(has_function_flags), // | |
| 3400 B(Star), R(4), // | 3369 B(Star), R(4), // |
| 3401 B(CreateClosure), U8(4), U8(1), // | 3370 B(CreateClosure), U8(4), U8(1), // |
| 3402 B(StoreICSloppy), R(4), U8(3), U8(5), // | 3371 B(StoreICSloppy), R(4), U8(3), U8(5), // |
| 3403 B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1), // | 3372 B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1), // |
| 3404 B(Ldar), R(4), // | 3373 B(Ldar), R(4), // |
| 3405 B(Star), R(3), // | 3374 B(Star), R(3), // |
| 3406 B(CallRuntime), U16(Runtime::kInitializeVarGlobal), R(1), U8(3), // | 3375 B(CallRuntime), U16(Runtime::kInitializeVarGlobal), R(1), U8(3), // |
| 3407 B(LdaUndefined), // | 3376 B(LdaUndefined), // |
| 3408 B(Return), // | 3377 B(Return), // |
| 3409 }, | 3378 }, |
| (...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3956 B(ToNumber), // | 3925 B(ToNumber), // |
| 3957 B(Star), R(1), // | 3926 B(Star), R(1), // |
| 3958 B(Dec), // | 3927 B(Dec), // |
| 3959 B(Star), R(0), // | 3928 B(Star), R(0), // |
| 3960 B(Ldar), R(1), // | 3929 B(Ldar), R(1), // |
| 3961 B(Return), // | 3930 B(Return), // |
| 3962 }}, | 3931 }}, |
| 3963 {"var a = { val: 1 }; return a.val++;", | 3932 {"var a = { val: 1 }; return a.val++;", |
| 3964 2 * kPointerSize, | 3933 2 * kPointerSize, |
| 3965 1, | 3934 1, |
| 3966 22, | 3935 21, |
| 3967 { | 3936 { |
| 3968 B(LdaConstant), U8(0), // | 3937 B(CreateObjectLiteral), U8(0), U8(0), U8(object_literal_flags), // |
| 3969 B(CreateObjectLiteral), U8(0), U8(object_literal_flags), // | 3938 B(Star), R(0), // |
| 3970 B(Star), R(0), // | 3939 B(LoadICSloppy), R(0), U8(1), U8(vector->GetIndex(slot1)), // |
| 3971 B(LoadICSloppy), R(0), U8(1), U8(vector->GetIndex(slot1)), // | 3940 B(ToNumber), // |
| 3972 B(ToNumber), // | 3941 B(Star), R(1), // |
| 3973 B(Star), R(1), // | 3942 B(Inc), // |
| 3974 B(Inc), // | 3943 B(StoreICSloppy), R(0), U8(1), U8(vector->GetIndex(slot2)), // |
| 3975 B(StoreICSloppy), R(0), U8(1), U8(vector->GetIndex(slot2)), // | 3944 B(Ldar), R(1), // |
| 3976 B(Ldar), R(1), // | 3945 B(Return), // |
| 3977 B(Return), // | |
| 3978 }, | 3946 }, |
| 3979 2, | 3947 2, |
| 3980 {InstanceType::FIXED_ARRAY_TYPE, | 3948 {InstanceType::FIXED_ARRAY_TYPE, |
| 3981 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 3949 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 3982 {"var a = { val: 1 }; return --a.val;", | 3950 {"var a = { val: 1 }; return --a.val;", |
| 3983 1 * kPointerSize, | 3951 1 * kPointerSize, |
| 3984 1, | 3952 1, |
| 3985 18, | 3953 17, |
| 3986 { | 3954 { |
| 3987 B(LdaConstant), U8(0), // | 3955 B(CreateObjectLiteral), U8(0), U8(0), U8(object_literal_flags), // |
| 3988 B(CreateObjectLiteral), U8(0), U8(object_literal_flags), // | 3956 B(Star), R(0), // |
| 3989 B(Star), R(0), // | 3957 B(LoadICSloppy), R(0), U8(1), U8(vector->GetIndex(slot1)), // |
| 3990 B(LoadICSloppy), R(0), U8(1), U8(vector->GetIndex(slot1)), // | 3958 B(ToNumber), // |
| 3991 B(ToNumber), // | 3959 B(Dec), // |
| 3992 B(Dec), // | 3960 B(StoreICSloppy), R(0), U8(1), U8(vector->GetIndex(slot2)), // |
| 3993 B(StoreICSloppy), R(0), U8(1), U8(vector->GetIndex(slot2)), // | 3961 B(Return), // |
| 3994 B(Return), // | |
| 3995 }, | 3962 }, |
| 3996 2, | 3963 2, |
| 3997 {InstanceType::FIXED_ARRAY_TYPE, | 3964 {InstanceType::FIXED_ARRAY_TYPE, |
| 3998 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 3965 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 3999 {"var name = 'var'; var a = { val: 1 }; return a[name]--;", | 3966 {"var name = 'var'; var a = { val: 1 }; return a[name]--;", |
| 4000 4 * kPointerSize, | 3967 4 * kPointerSize, |
| 4001 1, | 3968 1, |
| 4002 29, | 3969 28, |
| 4003 { | 3970 { |
| 4004 B(LdaConstant), U8(0), // | 3971 B(LdaConstant), U8(0), // |
| 4005 B(Star), R(0), // | 3972 B(Star), R(0), // |
| 4006 B(LdaConstant), U8(1), // | 3973 B(CreateObjectLiteral), U8(1), U8(0), U8(object_literal_flags), // |
| 4007 B(CreateObjectLiteral), U8(0), U8(object_literal_flags), // | |
| 4008 B(Star), R(1), // | 3974 B(Star), R(1), // |
| 4009 B(Ldar), R(0), // | 3975 B(Ldar), R(0), // |
| 4010 B(Star), R(2), // | 3976 B(Star), R(2), // |
| 4011 B(KeyedLoadICSloppy), R(1), U8(vector->GetIndex(slot1)), // | 3977 B(KeyedLoadICSloppy), R(1), U8(vector->GetIndex(slot1)), // |
| 4012 B(ToNumber), // | 3978 B(ToNumber), // |
| 4013 B(Star), R(3), // | 3979 B(Star), R(3), // |
| 4014 B(Dec), // | 3980 B(Dec), // |
| 4015 B(KeyedStoreICSloppy), R(1), R(2), U8(vector->GetIndex(slot2)), // | 3981 B(KeyedStoreICSloppy), R(1), R(2), U8(vector->GetIndex(slot2)), // |
| 4016 B(Ldar), R(3), // | 3982 B(Ldar), R(3), // |
| 4017 B(Return), // | 3983 B(Return), // |
| 4018 }, | 3984 }, |
| 4019 2, | 3985 2, |
| 4020 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 3986 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 4021 InstanceType::FIXED_ARRAY_TYPE}}, | 3987 InstanceType::FIXED_ARRAY_TYPE}}, |
| 4022 {"var name = 'var'; var a = { val: 1 }; return ++a[name];", | 3988 {"var name = 'var'; var a = { val: 1 }; return ++a[name];", |
| 4023 3 * kPointerSize, | 3989 3 * kPointerSize, |
| 4024 1, | 3990 1, |
| 4025 25, | 3991 24, |
| 4026 { | 3992 { |
| 4027 B(LdaConstant), U8(0), // | 3993 B(LdaConstant), U8(0), // |
| 4028 B(Star), R(0), // | 3994 B(Star), R(0), // |
| 4029 B(LdaConstant), U8(1), // | 3995 B(CreateObjectLiteral), U8(1), U8(0), U8(object_literal_flags), // |
| 4030 B(CreateObjectLiteral), U8(0), U8(object_literal_flags), // | |
| 4031 B(Star), R(1), // | 3996 B(Star), R(1), // |
| 4032 B(Ldar), R(0), // | 3997 B(Ldar), R(0), // |
| 4033 B(Star), R(2), // | 3998 B(Star), R(2), // |
| 4034 B(KeyedLoadICSloppy), R(1), U8(vector->GetIndex(slot1)), // | 3999 B(KeyedLoadICSloppy), R(1), U8(vector->GetIndex(slot1)), // |
| 4035 B(ToNumber), // | 4000 B(ToNumber), // |
| 4036 B(Inc), // | 4001 B(Inc), // |
| 4037 B(KeyedStoreICSloppy), R(1), R(2), U8(vector->GetIndex(slot2)), // | 4002 B(KeyedStoreICSloppy), R(1), R(2), U8(vector->GetIndex(slot2)), // |
| 4038 B(Return), // | 4003 B(Return), // |
| 4039 }, | 4004 }, |
| 4040 2, | 4005 2, |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4078 B(Dec), // | 4043 B(Dec), // |
| 4079 B(StaContextSlot), R(1), U8(first_context_slot), // | 4044 B(StaContextSlot), R(1), U8(first_context_slot), // |
| 4080 B(Ldar), R(2), // | 4045 B(Ldar), R(2), // |
| 4081 B(Return), // | 4046 B(Return), // |
| 4082 }, | 4047 }, |
| 4083 1, | 4048 1, |
| 4084 {InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 4049 {InstanceType::SHARED_FUNCTION_INFO_TYPE}}, |
| 4085 {"var idx = 1; var a = [1, 2]; return a[idx++] = 2;", | 4050 {"var idx = 1; var a = [1, 2]; return a[idx++] = 2;", |
| 4086 3 * kPointerSize, | 4051 3 * kPointerSize, |
| 4087 1, | 4052 1, |
| 4088 26, | 4053 25, |
| 4089 { | 4054 { |
| 4090 B(LdaSmi8), U8(1), // | 4055 B(LdaSmi8), U8(1), // |
| 4091 B(Star), R(0), // | 4056 B(Star), R(0), // |
| 4092 B(LdaConstant), U8(0), // | 4057 B(CreateArrayLiteral), U8(0), U8(0), U8(array_literal_flags), // |
| 4093 B(CreateArrayLiteral), U8(0), U8(array_literal_flags), // | |
| 4094 B(Star), R(1), // | 4058 B(Star), R(1), // |
| 4095 B(Ldar), R(0), // | 4059 B(Ldar), R(0), // |
| 4096 B(ToNumber), // | 4060 B(ToNumber), // |
| 4097 B(Star), R(2), // | 4061 B(Star), R(2), // |
| 4098 B(Inc), // | 4062 B(Inc), // |
| 4099 B(Star), R(0), // | 4063 B(Star), R(0), // |
| 4100 B(LdaSmi8), U8(2), // | 4064 B(LdaSmi8), U8(2), // |
| 4101 B(KeyedStoreICSloppy), R(1), R(2), // | 4065 B(KeyedStoreICSloppy), R(1), R(2), // |
| 4102 U8(store_vector->GetIndex(store_slot)), // | 4066 U8(store_vector->GetIndex(store_slot)), // |
| 4103 B(Return), // | 4067 B(Return), // |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4234 B(Star), R(0), // | 4198 B(Star), R(0), // |
| 4235 B(LdaSmi8), U8(2), // | 4199 B(LdaSmi8), U8(2), // |
| 4236 B(Div), R(0), // | 4200 B(Div), R(0), // |
| 4237 B(Star), R(0), // | 4201 B(Star), R(0), // |
| 4238 B(LdaUndefined), // | 4202 B(LdaUndefined), // |
| 4239 B(Return), // | 4203 B(Return), // |
| 4240 }}, | 4204 }}, |
| 4241 {"var a = { val: 2 }; a.name *= 2;", | 4205 {"var a = { val: 2 }; a.name *= 2;", |
| 4242 2 * kPointerSize, | 4206 2 * kPointerSize, |
| 4243 1, | 4207 1, |
| 4244 23, | 4208 22, |
| 4245 { | 4209 { |
| 4246 B(LdaConstant), U8(0), // | 4210 B(CreateObjectLiteral), U8(0), U8(0), U8(object_literal_flags), // |
| 4247 B(CreateObjectLiteral), U8(0), U8(object_literal_flags), // | 4211 B(Star), R(0), // |
| 4248 B(Star), R(0), // | 4212 B(LoadICSloppy), R(0), U8(1), U8(vector->GetIndex(slot1)), // |
| 4249 B(LoadICSloppy), R(0), U8(1), U8(vector->GetIndex(slot1)), // | 4213 B(Star), R(1), // |
| 4250 B(Star), R(1), // | 4214 B(LdaSmi8), U8(2), // |
| 4251 B(LdaSmi8), U8(2), // | 4215 B(Mul), R(1), // |
| 4252 B(Mul), R(1), // | 4216 B(StoreICSloppy), R(0), U8(1), U8(vector->GetIndex(slot2)), // |
| 4253 B(StoreICSloppy), R(0), U8(1), U8(vector->GetIndex(slot2)), // | 4217 B(LdaUndefined), // |
| 4254 B(LdaUndefined), // | 4218 B(Return), // |
| 4255 B(Return), // | |
| 4256 }, | 4219 }, |
| 4257 2, | 4220 2, |
| 4258 {InstanceType::FIXED_ARRAY_TYPE, | 4221 {InstanceType::FIXED_ARRAY_TYPE, |
| 4259 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 4222 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 4260 {"var a = { 1: 2 }; a[1] ^= 2;", | 4223 {"var a = { 1: 2 }; a[1] ^= 2;", |
| 4261 3 * kPointerSize, | 4224 3 * kPointerSize, |
| 4262 1, | 4225 1, |
| 4263 26, | 4226 25, |
| 4264 { | 4227 { |
| 4265 B(LdaConstant), U8(0), // | 4228 B(CreateObjectLiteral), U8(0), U8(0), U8(object_literal_flags), // |
| 4266 B(CreateObjectLiteral), U8(0), U8(object_literal_flags), // | |
| 4267 B(Star), R(0), // | 4229 B(Star), R(0), // |
| 4268 B(LdaSmi8), U8(1), // | 4230 B(LdaSmi8), U8(1), // |
| 4269 B(Star), R(1), // | 4231 B(Star), R(1), // |
| 4270 B(KeyedLoadICSloppy), R(0), U8(vector->GetIndex(slot1)), // | 4232 B(KeyedLoadICSloppy), R(0), U8(vector->GetIndex(slot1)), // |
| 4271 B(Star), R(2), // | 4233 B(Star), R(2), // |
| 4272 B(LdaSmi8), U8(2), // | 4234 B(LdaSmi8), U8(2), // |
| 4273 B(BitwiseXor), R(2), // | 4235 B(BitwiseXor), R(2), // |
| 4274 B(KeyedStoreICSloppy), R(0), R(1), U8(vector->GetIndex(slot2)), // | 4236 B(KeyedStoreICSloppy), R(0), R(1), U8(vector->GetIndex(slot2)), // |
| 4275 B(LdaUndefined), // | 4237 B(LdaUndefined), // |
| 4276 B(Return), // | 4238 B(Return), // |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4550 B(Jump), U8(-19), // | 4512 B(Jump), U8(-19), // |
| 4551 B(LdaUndefined), // | 4513 B(LdaUndefined), // |
| 4552 B(Return), // | 4514 B(Return), // |
| 4553 }, | 4515 }, |
| 4554 1, | 4516 1, |
| 4555 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 4517 {InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 4556 {"var x = 0;\n" | 4518 {"var x = 0;\n" |
| 4557 "for (var p in [1,2,3]) { x += p; }", | 4519 "for (var p in [1,2,3]) { x += p; }", |
| 4558 5 * kPointerSize, | 4520 5 * kPointerSize, |
| 4559 1, | 4521 1, |
| 4560 53, | 4522 52, |
| 4561 { | 4523 { |
| 4562 B(LdaZero), // | 4524 B(LdaZero), // |
| 4563 B(Star), R(1), // | 4525 B(Star), R(1), // |
| 4564 B(LdaConstant), U8(0), // | 4526 B(CreateArrayLiteral), U8(0), U8(0), U8(simple_flags), // |
| 4565 B(CreateArrayLiteral), U8(0), U8(simple_flags), // | |
| 4566 B(JumpIfUndefined), U8(43), // | 4527 B(JumpIfUndefined), U8(43), // |
| 4567 B(JumpIfNull), U8(41), // | 4528 B(JumpIfNull), U8(41), // |
| 4568 B(ToObject), // | 4529 B(ToObject), // |
| 4569 B(Star), R(3), // | 4530 B(Star), R(3), // |
| 4570 B(CallRuntime), U16(Runtime::kGetPropertyNamesFast), R(3), U8(1), // | 4531 B(CallRuntime), U16(Runtime::kGetPropertyNamesFast), R(3), U8(1), // |
| 4571 B(ForInPrepare), R(3), // | 4532 B(ForInPrepare), R(3), // |
| 4572 B(JumpIfUndefined), U8(29), // | 4533 B(JumpIfUndefined), U8(29), // |
| 4573 B(Star), R(4), // | 4534 B(Star), R(4), // |
| 4574 B(LdaZero), // | 4535 B(LdaZero), // |
| 4575 B(Star), R(3), // | 4536 B(Star), R(3), // |
| (...skipping 13 matching lines...) Expand all Loading... |
| 4589 }, | 4550 }, |
| 4590 1, | 4551 1, |
| 4591 {InstanceType::FIXED_ARRAY_TYPE}}, | 4552 {InstanceType::FIXED_ARRAY_TYPE}}, |
| 4592 {"var x = { 'a': 1, 'b': 2 };\n" | 4553 {"var x = { 'a': 1, 'b': 2 };\n" |
| 4593 "for (x['a'] in [10, 20, 30]) {\n" | 4554 "for (x['a'] in [10, 20, 30]) {\n" |
| 4594 " if (x['a'] == 10) continue;\n" | 4555 " if (x['a'] == 10) continue;\n" |
| 4595 " if (x['a'] == 20) break;\n" | 4556 " if (x['a'] == 20) break;\n" |
| 4596 "}", | 4557 "}", |
| 4597 4 * kPointerSize, | 4558 4 * kPointerSize, |
| 4598 1, | 4559 1, |
| 4599 83, | 4560 81, |
| 4600 { | 4561 { |
| 4601 B(LdaConstant), U8(0), // | 4562 B(CreateObjectLiteral), U8(0), U8(0), U8(deep_elements_flags), // |
| 4602 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | |
| 4603 B(Star), R(0), // | 4563 B(Star), R(0), // |
| 4604 B(LdaConstant), U8(1), // | 4564 B(CreateArrayLiteral), U8(1), U8(1), U8(simple_flags), // |
| 4605 B(CreateArrayLiteral), U8(1), U8(simple_flags), // | |
| 4606 B(JumpIfUndefined), U8(69), // | 4565 B(JumpIfUndefined), U8(69), // |
| 4607 B(JumpIfNull), U8(67), // | 4566 B(JumpIfNull), U8(67), // |
| 4608 B(ToObject), // | 4567 B(ToObject), // |
| 4609 B(Star), R(1), // | 4568 B(Star), R(1), // |
| 4610 B(CallRuntime), U16(Runtime::kGetPropertyNamesFast), R(1), U8(1), // | 4569 B(CallRuntime), U16(Runtime::kGetPropertyNamesFast), R(1), U8(1), // |
| 4611 B(ForInPrepare), R(1), // | 4570 B(ForInPrepare), R(1), // |
| 4612 B(JumpIfUndefined), U8(55), // | 4571 B(JumpIfUndefined), U8(55), // |
| 4613 B(Star), R(2), // | 4572 B(Star), R(2), // |
| 4614 B(LdaZero), // | 4573 B(LdaZero), // |
| 4615 B(Star), R(1), // | 4574 B(Star), R(1), // |
| (...skipping 21 matching lines...) Expand all Loading... |
| 4637 B(LdaUndefined), // | 4596 B(LdaUndefined), // |
| 4638 B(Return), // | 4597 B(Return), // |
| 4639 }, | 4598 }, |
| 4640 3, | 4599 3, |
| 4641 {InstanceType::FIXED_ARRAY_TYPE, InstanceType::FIXED_ARRAY_TYPE, | 4600 {InstanceType::FIXED_ARRAY_TYPE, InstanceType::FIXED_ARRAY_TYPE, |
| 4642 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, | 4601 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE}}, |
| 4643 {"var x = [ 10, 11, 12 ] ;\n" | 4602 {"var x = [ 10, 11, 12 ] ;\n" |
| 4644 "for (x[0] in [1,2,3]) { return x[3]; }", | 4603 "for (x[0] in [1,2,3]) { return x[3]; }", |
| 4645 5 * kPointerSize, | 4604 5 * kPointerSize, |
| 4646 1, | 4605 1, |
| 4647 66, | 4606 64, |
| 4648 { | 4607 { |
| 4649 B(LdaConstant), U8(0), // | 4608 B(CreateArrayLiteral), U8(0), U8(0), U8(simple_flags), // |
| 4650 B(CreateArrayLiteral), U8(0), U8(simple_flags), // | |
| 4651 B(Star), R(0), // | 4609 B(Star), R(0), // |
| 4652 B(LdaConstant), U8(1), // | 4610 B(CreateArrayLiteral), U8(1), U8(1), U8(simple_flags), // |
| 4653 B(CreateArrayLiteral), U8(1), U8(simple_flags), // | |
| 4654 B(JumpIfUndefined), U8(52), // | 4611 B(JumpIfUndefined), U8(52), // |
| 4655 B(JumpIfNull), U8(50), // | 4612 B(JumpIfNull), U8(50), // |
| 4656 B(ToObject), // | 4613 B(ToObject), // |
| 4657 B(Star), R(1), // | 4614 B(Star), R(1), // |
| 4658 B(CallRuntime), U16(Runtime::kGetPropertyNamesFast), R(1), U8(1), // | 4615 B(CallRuntime), U16(Runtime::kGetPropertyNamesFast), R(1), U8(1), // |
| 4659 B(ForInPrepare), R(1), // | 4616 B(ForInPrepare), R(1), // |
| 4660 B(JumpIfUndefined), U8(38), // | 4617 B(JumpIfUndefined), U8(38), // |
| 4661 B(Star), R(2), // | 4618 B(Star), R(2), // |
| 4662 B(LdaZero), // | 4619 B(LdaZero), // |
| 4663 B(Star), R(1), // | 4620 B(Star), R(1), // |
| (...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5460 for (size_t i = 0; i < arraysize(snippets); i++) { | 5417 for (size_t i = 0; i < arraysize(snippets); i++) { |
| 5461 Handle<BytecodeArray> bytecode_array = | 5418 Handle<BytecodeArray> bytecode_array = |
| 5462 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet); | 5419 helper.MakeBytecodeForFunctionBody(snippets[i].code_snippet); |
| 5463 CheckBytecodeArrayEqual(snippets[i], bytecode_array); | 5420 CheckBytecodeArrayEqual(snippets[i], bytecode_array); |
| 5464 } | 5421 } |
| 5465 } | 5422 } |
| 5466 | 5423 |
| 5467 } // namespace interpreter | 5424 } // namespace interpreter |
| 5468 } // namespace internal | 5425 } // namespace internal |
| 5469 } // namespace v8 | 5426 } // namespace v8 |
| OLD | NEW |