| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 /* Object::IsExternalArray(). */ \ | 379 /* Object::IsExternalArray(). */ \ |
| 380 V(EXTERNAL_BYTE_ARRAY_TYPE) \ | 380 V(EXTERNAL_BYTE_ARRAY_TYPE) \ |
| 381 V(EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE) \ | 381 V(EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE) \ |
| 382 V(EXTERNAL_SHORT_ARRAY_TYPE) \ | 382 V(EXTERNAL_SHORT_ARRAY_TYPE) \ |
| 383 V(EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE) \ | 383 V(EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE) \ |
| 384 V(EXTERNAL_INT_ARRAY_TYPE) \ | 384 V(EXTERNAL_INT_ARRAY_TYPE) \ |
| 385 V(EXTERNAL_UNSIGNED_INT_ARRAY_TYPE) \ | 385 V(EXTERNAL_UNSIGNED_INT_ARRAY_TYPE) \ |
| 386 V(EXTERNAL_FLOAT_ARRAY_TYPE) \ | 386 V(EXTERNAL_FLOAT_ARRAY_TYPE) \ |
| 387 V(EXTERNAL_DOUBLE_ARRAY_TYPE) \ | 387 V(EXTERNAL_DOUBLE_ARRAY_TYPE) \ |
| 388 V(EXTERNAL_PIXEL_ARRAY_TYPE) \ | 388 V(EXTERNAL_PIXEL_ARRAY_TYPE) \ |
| 389 \ | |
| 390 V(FIXED_INT8_ARRAY_TYPE) \ | |
| 391 V(FIXED_UINT8_ARRAY_TYPE) \ | |
| 392 V(FIXED_INT16_ARRAY_TYPE) \ | |
| 393 V(FIXED_UINT16_ARRAY_TYPE) \ | |
| 394 V(FIXED_INT32_ARRAY_TYPE) \ | |
| 395 V(FIXED_UINT32_ARRAY_TYPE) \ | |
| 396 V(FIXED_FLOAT32_ARRAY_TYPE) \ | |
| 397 V(FIXED_FLOAT64_ARRAY_TYPE) \ | |
| 398 V(FIXED_UINT8_CLAMPED_ARRAY_TYPE) \ | |
| 399 \ | |
| 400 V(FILLER_TYPE) \ | 389 V(FILLER_TYPE) \ |
| 401 \ | 390 \ |
| 402 V(DECLARED_ACCESSOR_DESCRIPTOR_TYPE) \ | 391 V(DECLARED_ACCESSOR_DESCRIPTOR_TYPE) \ |
| 403 V(DECLARED_ACCESSOR_INFO_TYPE) \ | 392 V(DECLARED_ACCESSOR_INFO_TYPE) \ |
| 404 V(EXECUTABLE_ACCESSOR_INFO_TYPE) \ | 393 V(EXECUTABLE_ACCESSOR_INFO_TYPE) \ |
| 405 V(ACCESSOR_PAIR_TYPE) \ | 394 V(ACCESSOR_PAIR_TYPE) \ |
| 406 V(ACCESS_CHECK_INFO_TYPE) \ | 395 V(ACCESS_CHECK_INFO_TYPE) \ |
| 407 V(INTERCEPTOR_INFO_TYPE) \ | 396 V(INTERCEPTOR_INFO_TYPE) \ |
| 408 V(CALL_HANDLER_INFO_TYPE) \ | 397 V(CALL_HANDLER_INFO_TYPE) \ |
| 409 V(FUNCTION_TEMPLATE_INFO_TYPE) \ | 398 V(FUNCTION_TEMPLATE_INFO_TYPE) \ |
| (...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 724 FREE_SPACE_TYPE, | 713 FREE_SPACE_TYPE, |
| 725 EXTERNAL_BYTE_ARRAY_TYPE, // FIRST_EXTERNAL_ARRAY_TYPE | 714 EXTERNAL_BYTE_ARRAY_TYPE, // FIRST_EXTERNAL_ARRAY_TYPE |
| 726 EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE, | 715 EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE, |
| 727 EXTERNAL_SHORT_ARRAY_TYPE, | 716 EXTERNAL_SHORT_ARRAY_TYPE, |
| 728 EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE, | 717 EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE, |
| 729 EXTERNAL_INT_ARRAY_TYPE, | 718 EXTERNAL_INT_ARRAY_TYPE, |
| 730 EXTERNAL_UNSIGNED_INT_ARRAY_TYPE, | 719 EXTERNAL_UNSIGNED_INT_ARRAY_TYPE, |
| 731 EXTERNAL_FLOAT_ARRAY_TYPE, | 720 EXTERNAL_FLOAT_ARRAY_TYPE, |
| 732 EXTERNAL_DOUBLE_ARRAY_TYPE, | 721 EXTERNAL_DOUBLE_ARRAY_TYPE, |
| 733 EXTERNAL_PIXEL_ARRAY_TYPE, // LAST_EXTERNAL_ARRAY_TYPE | 722 EXTERNAL_PIXEL_ARRAY_TYPE, // LAST_EXTERNAL_ARRAY_TYPE |
| 734 | |
| 735 FIXED_INT8_ARRAY_TYPE, // FIRST_FIXED_TYPED_ARRAY_TYPE | |
| 736 FIXED_UINT8_ARRAY_TYPE, | |
| 737 FIXED_INT16_ARRAY_TYPE, | |
| 738 FIXED_UINT16_ARRAY_TYPE, | |
| 739 FIXED_INT32_ARRAY_TYPE, | |
| 740 FIXED_UINT32_ARRAY_TYPE, | |
| 741 FIXED_FLOAT32_ARRAY_TYPE, | |
| 742 FIXED_FLOAT64_ARRAY_TYPE, | |
| 743 FIXED_UINT8_CLAMPED_ARRAY_TYPE, // LAST_FIXED_TYPED_ARRAY_TYPE | |
| 744 | |
| 745 FIXED_DOUBLE_ARRAY_TYPE, | 723 FIXED_DOUBLE_ARRAY_TYPE, |
| 746 FILLER_TYPE, // LAST_DATA_TYPE | 724 FILLER_TYPE, // LAST_DATA_TYPE |
| 747 | 725 |
| 748 // Structs. | 726 // Structs. |
| 749 DECLARED_ACCESSOR_DESCRIPTOR_TYPE, | 727 DECLARED_ACCESSOR_DESCRIPTOR_TYPE, |
| 750 DECLARED_ACCESSOR_INFO_TYPE, | 728 DECLARED_ACCESSOR_INFO_TYPE, |
| 751 EXECUTABLE_ACCESSOR_INFO_TYPE, | 729 EXECUTABLE_ACCESSOR_INFO_TYPE, |
| 752 ACCESSOR_PAIR_TYPE, | 730 ACCESSOR_PAIR_TYPE, |
| 753 ACCESS_CHECK_INFO_TYPE, | 731 ACCESS_CHECK_INFO_TYPE, |
| 754 INTERCEPTOR_INFO_TYPE, | 732 INTERCEPTOR_INFO_TYPE, |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 812 FIRST_TYPE = 0x0, | 790 FIRST_TYPE = 0x0, |
| 813 LAST_TYPE = JS_FUNCTION_TYPE, | 791 LAST_TYPE = JS_FUNCTION_TYPE, |
| 814 FIRST_NAME_TYPE = FIRST_TYPE, | 792 FIRST_NAME_TYPE = FIRST_TYPE, |
| 815 LAST_NAME_TYPE = SYMBOL_TYPE, | 793 LAST_NAME_TYPE = SYMBOL_TYPE, |
| 816 FIRST_UNIQUE_NAME_TYPE = INTERNALIZED_STRING_TYPE, | 794 FIRST_UNIQUE_NAME_TYPE = INTERNALIZED_STRING_TYPE, |
| 817 LAST_UNIQUE_NAME_TYPE = SYMBOL_TYPE, | 795 LAST_UNIQUE_NAME_TYPE = SYMBOL_TYPE, |
| 818 FIRST_NONSTRING_TYPE = SYMBOL_TYPE, | 796 FIRST_NONSTRING_TYPE = SYMBOL_TYPE, |
| 819 // Boundaries for testing for an external array. | 797 // Boundaries for testing for an external array. |
| 820 FIRST_EXTERNAL_ARRAY_TYPE = EXTERNAL_BYTE_ARRAY_TYPE, | 798 FIRST_EXTERNAL_ARRAY_TYPE = EXTERNAL_BYTE_ARRAY_TYPE, |
| 821 LAST_EXTERNAL_ARRAY_TYPE = EXTERNAL_PIXEL_ARRAY_TYPE, | 799 LAST_EXTERNAL_ARRAY_TYPE = EXTERNAL_PIXEL_ARRAY_TYPE, |
| 822 // Boundaries for testing for a fixed typed array. | |
| 823 FIRST_FIXED_TYPED_ARRAY_TYPE = FIXED_INT8_ARRAY_TYPE, | |
| 824 LAST_FIXED_TYPED_ARRAY_TYPE = FIXED_UINT8_CLAMPED_ARRAY_TYPE, | |
| 825 // Boundary for promotion to old data space/old pointer space. | 800 // Boundary for promotion to old data space/old pointer space. |
| 826 LAST_DATA_TYPE = FILLER_TYPE, | 801 LAST_DATA_TYPE = FILLER_TYPE, |
| 827 // Boundary for objects represented as JSReceiver (i.e. JSObject or JSProxy). | 802 // Boundary for objects represented as JSReceiver (i.e. JSObject or JSProxy). |
| 828 // Note that there is no range for JSObject or JSProxy, since their subtypes | 803 // Note that there is no range for JSObject or JSProxy, since their subtypes |
| 829 // are not continuous in this enum! The enum ranges instead reflect the | 804 // are not continuous in this enum! The enum ranges instead reflect the |
| 830 // external class names, where proxies are treated as either ordinary objects, | 805 // external class names, where proxies are treated as either ordinary objects, |
| 831 // or functions. | 806 // or functions. |
| 832 FIRST_JS_RECEIVER_TYPE = JS_FUNCTION_PROXY_TYPE, | 807 FIRST_JS_RECEIVER_TYPE = JS_FUNCTION_PROXY_TYPE, |
| 833 LAST_JS_RECEIVER_TYPE = LAST_TYPE, | 808 LAST_JS_RECEIVER_TYPE = LAST_TYPE, |
| 834 // Boundaries for testing the types represented as JSObject | 809 // Boundaries for testing the types represented as JSObject |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1007 V(ExternalArray) \ | 982 V(ExternalArray) \ |
| 1008 V(ExternalByteArray) \ | 983 V(ExternalByteArray) \ |
| 1009 V(ExternalUnsignedByteArray) \ | 984 V(ExternalUnsignedByteArray) \ |
| 1010 V(ExternalShortArray) \ | 985 V(ExternalShortArray) \ |
| 1011 V(ExternalUnsignedShortArray) \ | 986 V(ExternalUnsignedShortArray) \ |
| 1012 V(ExternalIntArray) \ | 987 V(ExternalIntArray) \ |
| 1013 V(ExternalUnsignedIntArray) \ | 988 V(ExternalUnsignedIntArray) \ |
| 1014 V(ExternalFloatArray) \ | 989 V(ExternalFloatArray) \ |
| 1015 V(ExternalDoubleArray) \ | 990 V(ExternalDoubleArray) \ |
| 1016 V(ExternalPixelArray) \ | 991 V(ExternalPixelArray) \ |
| 1017 V(FixedTypedArrayBase) \ | |
| 1018 V(FixedUint8Array) \ | |
| 1019 V(FixedInt8Array) \ | |
| 1020 V(FixedUint16Array) \ | |
| 1021 V(FixedInt16Array) \ | |
| 1022 V(FixedUint32Array) \ | |
| 1023 V(FixedInt32Array) \ | |
| 1024 V(FixedFloat32Array) \ | |
| 1025 V(FixedFloat64Array) \ | |
| 1026 V(FixedUint8ClampedArray) \ | |
| 1027 V(ByteArray) \ | 992 V(ByteArray) \ |
| 1028 V(FreeSpace) \ | 993 V(FreeSpace) \ |
| 1029 V(JSReceiver) \ | 994 V(JSReceiver) \ |
| 1030 V(JSObject) \ | 995 V(JSObject) \ |
| 1031 V(JSContextExtensionObject) \ | 996 V(JSContextExtensionObject) \ |
| 1032 V(JSGeneratorObject) \ | 997 V(JSGeneratorObject) \ |
| 1033 V(JSModule) \ | 998 V(JSModule) \ |
| 1034 V(Map) \ | 999 V(Map) \ |
| 1035 V(DescriptorArray) \ | 1000 V(DescriptorArray) \ |
| 1036 V(TransitionArray) \ | 1001 V(TransitionArray) \ |
| (...skipping 1100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2137 // Returns true if an object has any of the fast elements kinds. | 2102 // Returns true if an object has any of the fast elements kinds. |
| 2138 inline bool HasFastElements(); | 2103 inline bool HasFastElements(); |
| 2139 // Returns true if an object has elements of FAST_DOUBLE_ELEMENTS | 2104 // Returns true if an object has elements of FAST_DOUBLE_ELEMENTS |
| 2140 // ElementsKind. | 2105 // ElementsKind. |
| 2141 inline bool HasFastDoubleElements(); | 2106 inline bool HasFastDoubleElements(); |
| 2142 // Returns true if an object has elements of FAST_HOLEY_*_ELEMENTS | 2107 // Returns true if an object has elements of FAST_HOLEY_*_ELEMENTS |
| 2143 // ElementsKind. | 2108 // ElementsKind. |
| 2144 inline bool HasFastHoleyElements(); | 2109 inline bool HasFastHoleyElements(); |
| 2145 inline bool HasNonStrictArgumentsElements(); | 2110 inline bool HasNonStrictArgumentsElements(); |
| 2146 inline bool HasDictionaryElements(); | 2111 inline bool HasDictionaryElements(); |
| 2147 | |
| 2148 inline bool HasExternalPixelElements(); | 2112 inline bool HasExternalPixelElements(); |
| 2149 inline bool HasExternalArrayElements(); | 2113 inline bool HasExternalArrayElements(); |
| 2150 inline bool HasExternalByteElements(); | 2114 inline bool HasExternalByteElements(); |
| 2151 inline bool HasExternalUnsignedByteElements(); | 2115 inline bool HasExternalUnsignedByteElements(); |
| 2152 inline bool HasExternalShortElements(); | 2116 inline bool HasExternalShortElements(); |
| 2153 inline bool HasExternalUnsignedShortElements(); | 2117 inline bool HasExternalUnsignedShortElements(); |
| 2154 inline bool HasExternalIntElements(); | 2118 inline bool HasExternalIntElements(); |
| 2155 inline bool HasExternalUnsignedIntElements(); | 2119 inline bool HasExternalUnsignedIntElements(); |
| 2156 inline bool HasExternalFloatElements(); | 2120 inline bool HasExternalFloatElements(); |
| 2157 inline bool HasExternalDoubleElements(); | 2121 inline bool HasExternalDoubleElements(); |
| 2158 | |
| 2159 inline bool HasFixedTypedArrayElements(); | |
| 2160 | |
| 2161 bool HasFastArgumentsElements(); | 2122 bool HasFastArgumentsElements(); |
| 2162 bool HasDictionaryArgumentsElements(); | 2123 bool HasDictionaryArgumentsElements(); |
| 2163 inline SeededNumberDictionary* element_dictionary(); // Gets slow elements. | 2124 inline SeededNumberDictionary* element_dictionary(); // Gets slow elements. |
| 2164 | 2125 |
| 2165 inline void set_map_and_elements( | 2126 inline void set_map_and_elements( |
| 2166 Map* map, | 2127 Map* map, |
| 2167 FixedArrayBase* value, | 2128 FixedArrayBase* value, |
| 2168 WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 2129 WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
| 2169 | 2130 |
| 2170 // Requires: HasFastElements(). | 2131 // Requires: HasFastElements(). |
| (...skipping 2689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4860 | 4821 |
| 4861 // Dispatched behavior. | 4822 // Dispatched behavior. |
| 4862 DECLARE_PRINTER(ExternalDoubleArray) | 4823 DECLARE_PRINTER(ExternalDoubleArray) |
| 4863 DECLARE_VERIFIER(ExternalDoubleArray) | 4824 DECLARE_VERIFIER(ExternalDoubleArray) |
| 4864 | 4825 |
| 4865 private: | 4826 private: |
| 4866 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalDoubleArray); | 4827 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalDoubleArray); |
| 4867 }; | 4828 }; |
| 4868 | 4829 |
| 4869 | 4830 |
| 4870 class FixedTypedArrayBase: public FixedArrayBase { | |
| 4871 public: | |
| 4872 // Casting: | |
| 4873 static inline FixedTypedArrayBase* cast(Object* obj); | |
| 4874 | |
| 4875 static const int kDataOffset = kHeaderSize; | |
| 4876 | |
| 4877 inline int size(); | |
| 4878 | |
| 4879 private: | |
| 4880 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArrayBase); | |
| 4881 }; | |
| 4882 | |
| 4883 | |
| 4884 template <class Traits> | |
| 4885 class FixedTypedArray: public FixedTypedArrayBase { | |
| 4886 public: | |
| 4887 typedef typename Traits::ElementType ElementType; | |
| 4888 static const InstanceType kInstanceType = Traits::kInstanceType; | |
| 4889 | |
| 4890 // Casting: | |
| 4891 static inline FixedTypedArray<Traits>* cast(Object* obj); | |
| 4892 | |
| 4893 static inline int SizeFor(int length) { | |
| 4894 return kDataOffset + length * sizeof(ElementType); | |
| 4895 } | |
| 4896 | |
| 4897 inline ElementType get_scalar(int index); | |
| 4898 MUST_USE_RESULT inline MaybeObject* get(int index); | |
| 4899 inline void set(int index, ElementType value); | |
| 4900 | |
| 4901 // This accessor applies the correct conversion from Smi, HeapNumber | |
| 4902 // and undefined. | |
| 4903 MUST_USE_RESULT MaybeObject* SetValue(uint32_t index, Object* value); | |
| 4904 | |
| 4905 static Handle<Object> SetValue(Handle<FixedTypedArray<Traits> > array, | |
| 4906 uint32_t index, | |
| 4907 Handle<Object> value); | |
| 4908 | |
| 4909 DECLARE_PRINTER(FixedTypedArray) | |
| 4910 DECLARE_VERIFIER(FixedTypedArray) | |
| 4911 | |
| 4912 private: | |
| 4913 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArray); | |
| 4914 }; | |
| 4915 | |
| 4916 #define FIXED_TYPED_ARRAY_TRAITS(Type, type, TYPE, elementType) \ | |
| 4917 class Type##ArrayTraits { \ | |
| 4918 public: \ | |
| 4919 typedef elementType ElementType; \ | |
| 4920 static const InstanceType kInstanceType = FIXED_##TYPE##_ARRAY_TYPE; \ | |
| 4921 static const char* Designator() { return #type " array"; } \ | |
| 4922 static inline MaybeObject* ToObject(Heap* heap, elementType scalar); \ | |
| 4923 static elementType defaultValue() { return 0; } \ | |
| 4924 }; \ | |
| 4925 \ | |
| 4926 typedef FixedTypedArray<Type##ArrayTraits> Fixed##Type##Array; | |
| 4927 | |
| 4928 FIXED_TYPED_ARRAY_TRAITS(Uint8, uint8, UINT8, uint8_t) | |
| 4929 FIXED_TYPED_ARRAY_TRAITS(Int8, int8, INT8, int8_t) | |
| 4930 FIXED_TYPED_ARRAY_TRAITS(Uint16, uint16, UINT16, uint16_t) | |
| 4931 FIXED_TYPED_ARRAY_TRAITS(Int16, int16, INT16, int16_t) | |
| 4932 FIXED_TYPED_ARRAY_TRAITS(Uint32, uint32, UINT32, uint32_t) | |
| 4933 FIXED_TYPED_ARRAY_TRAITS(Int32, int32, INT32, int32_t) | |
| 4934 FIXED_TYPED_ARRAY_TRAITS(Float32, float32, FLOAT32, float) | |
| 4935 FIXED_TYPED_ARRAY_TRAITS(Float64, float64, FLOAT64, double) | |
| 4936 FIXED_TYPED_ARRAY_TRAITS(Uint8Clamped, uint8_clamped, UINT8_CLAMPED, uint8_t) | |
| 4937 | |
| 4938 #undef FIXED_TYPED_ARRAY_TRAITS | |
| 4939 | |
| 4940 // DeoptimizationInputData is a fixed array used to hold the deoptimization | 4831 // DeoptimizationInputData is a fixed array used to hold the deoptimization |
| 4941 // data for code generated by the Hydrogen/Lithium compiler. It also | 4832 // data for code generated by the Hydrogen/Lithium compiler. It also |
| 4942 // contains information about functions that were inlined. If N different | 4833 // contains information about functions that were inlined. If N different |
| 4943 // functions were inlined then first N elements of the literal array will | 4834 // functions were inlined then first N elements of the literal array will |
| 4944 // contain these functions. | 4835 // contain these functions. |
| 4945 // | 4836 // |
| 4946 // It can be empty. | 4837 // It can be empty. |
| 4947 class DeoptimizationInputData: public FixedArray { | 4838 class DeoptimizationInputData: public FixedArray { |
| 4948 public: | 4839 public: |
| 4949 // Layout description. Indices in the array. | 4840 // Layout description. Indices in the array. |
| (...skipping 989 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5939 } | 5830 } |
| 5940 | 5831 |
| 5941 inline bool has_non_strict_arguments_elements() { | 5832 inline bool has_non_strict_arguments_elements() { |
| 5942 return elements_kind() == NON_STRICT_ARGUMENTS_ELEMENTS; | 5833 return elements_kind() == NON_STRICT_ARGUMENTS_ELEMENTS; |
| 5943 } | 5834 } |
| 5944 | 5835 |
| 5945 inline bool has_external_array_elements() { | 5836 inline bool has_external_array_elements() { |
| 5946 return IsExternalArrayElementsKind(elements_kind()); | 5837 return IsExternalArrayElementsKind(elements_kind()); |
| 5947 } | 5838 } |
| 5948 | 5839 |
| 5949 inline bool has_fixed_typed_array_elements() { | |
| 5950 return IsFixedTypedArrayElementsKind(elements_kind()); | |
| 5951 } | |
| 5952 | |
| 5953 inline bool has_dictionary_elements() { | 5840 inline bool has_dictionary_elements() { |
| 5954 return IsDictionaryElementsKind(elements_kind()); | 5841 return IsDictionaryElementsKind(elements_kind()); |
| 5955 } | 5842 } |
| 5956 | 5843 |
| 5957 inline bool has_slow_elements_kind() { | 5844 inline bool has_slow_elements_kind() { |
| 5958 return elements_kind() == DICTIONARY_ELEMENTS | 5845 return elements_kind() == DICTIONARY_ELEMENTS |
| 5959 || elements_kind() == NON_STRICT_ARGUMENTS_ELEMENTS; | 5846 || elements_kind() == NON_STRICT_ARGUMENTS_ELEMENTS; |
| 5960 } | 5847 } |
| 5961 | 5848 |
| 5962 static bool IsValidElementsTransition(ElementsKind from_kind, | 5849 static bool IsValidElementsTransition(ElementsKind from_kind, |
| (...skipping 4808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10771 } else { | 10658 } else { |
| 10772 value &= ~(1 << bit_position); | 10659 value &= ~(1 << bit_position); |
| 10773 } | 10660 } |
| 10774 return value; | 10661 return value; |
| 10775 } | 10662 } |
| 10776 }; | 10663 }; |
| 10777 | 10664 |
| 10778 } } // namespace v8::internal | 10665 } } // namespace v8::internal |
| 10779 | 10666 |
| 10780 #endif // V8_OBJECTS_H_ | 10667 #endif // V8_OBJECTS_H_ |
| OLD | NEW |