OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #ifndef V8_ISOLATE_H_ | 5 #ifndef V8_ISOLATE_H_ |
6 #define V8_ISOLATE_H_ | 6 #define V8_ISOLATE_H_ |
7 | 7 |
8 #include <queue> | 8 #include <queue> |
9 #include <set> | 9 #include <set> |
10 | 10 |
(...skipping 941 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
952 date_cache_ = date_cache; | 952 date_cache_ = date_cache; |
953 } | 953 } |
954 | 954 |
955 Map* get_initial_js_array_map(ElementsKind kind); | 955 Map* get_initial_js_array_map(ElementsKind kind); |
956 | 956 |
957 static const int kArrayProtectorValid = 1; | 957 static const int kArrayProtectorValid = 1; |
958 static const int kArrayProtectorInvalid = 0; | 958 static const int kArrayProtectorInvalid = 0; |
959 | 959 |
960 bool IsFastArrayConstructorPrototypeChainIntact(); | 960 bool IsFastArrayConstructorPrototypeChainIntact(); |
961 inline bool IsArraySpeciesLookupChainIntact(); | 961 inline bool IsArraySpeciesLookupChainIntact(); |
| 962 inline bool IsHasInstanceLookupChainIntact(); |
962 bool IsIsConcatSpreadableLookupChainIntact(); | 963 bool IsIsConcatSpreadableLookupChainIntact(); |
963 | 964 |
964 // On intent to set an element in object, make sure that appropriate | 965 // On intent to set an element in object, make sure that appropriate |
965 // notifications occur if the set is on the elements of the array or | 966 // notifications occur if the set is on the elements of the array or |
966 // object prototype. Also ensure that changes to prototype chain between | 967 // object prototype. Also ensure that changes to prototype chain between |
967 // Array and Object fire notifications. | 968 // Array and Object fire notifications. |
968 void UpdateArrayProtectorOnSetElement(Handle<JSObject> object); | 969 void UpdateArrayProtectorOnSetElement(Handle<JSObject> object); |
969 void UpdateArrayProtectorOnSetLength(Handle<JSObject> object) { | 970 void UpdateArrayProtectorOnSetLength(Handle<JSObject> object) { |
970 UpdateArrayProtectorOnSetElement(object); | 971 UpdateArrayProtectorOnSetElement(object); |
971 } | 972 } |
972 void UpdateArrayProtectorOnSetPrototype(Handle<JSObject> object) { | 973 void UpdateArrayProtectorOnSetPrototype(Handle<JSObject> object) { |
973 UpdateArrayProtectorOnSetElement(object); | 974 UpdateArrayProtectorOnSetElement(object); |
974 } | 975 } |
975 void UpdateArrayProtectorOnNormalizeElements(Handle<JSObject> object) { | 976 void UpdateArrayProtectorOnNormalizeElements(Handle<JSObject> object) { |
976 UpdateArrayProtectorOnSetElement(object); | 977 UpdateArrayProtectorOnSetElement(object); |
977 } | 978 } |
978 void InvalidateArraySpeciesProtector(); | 979 void InvalidateArraySpeciesProtector(); |
| 980 void InvalidateHasInstanceProtector(); |
979 void InvalidateIsConcatSpreadableProtector(); | 981 void InvalidateIsConcatSpreadableProtector(); |
980 | 982 |
981 // Returns true if array is the initial array prototype in any native context. | 983 // Returns true if array is the initial array prototype in any native context. |
982 bool IsAnyInitialArrayPrototype(Handle<JSArray> array); | 984 bool IsAnyInitialArrayPrototype(Handle<JSArray> array); |
983 | 985 |
984 CallInterfaceDescriptorData* call_descriptor_data(int index); | 986 CallInterfaceDescriptorData* call_descriptor_data(int index); |
985 | 987 |
986 void IterateDeferredHandles(ObjectVisitor* visitor); | 988 void IterateDeferredHandles(ObjectVisitor* visitor); |
987 void LinkDeferredHandles(DeferredHandles* deferred_handles); | 989 void LinkDeferredHandles(DeferredHandles* deferred_handles); |
988 void UnlinkDeferredHandles(DeferredHandles* deferred_handles); | 990 void UnlinkDeferredHandles(DeferredHandles* deferred_handles); |
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1594 | 1596 |
1595 EmbeddedVector<char, 128> filename_; | 1597 EmbeddedVector<char, 128> filename_; |
1596 FILE* file_; | 1598 FILE* file_; |
1597 int scope_depth_; | 1599 int scope_depth_; |
1598 }; | 1600 }; |
1599 | 1601 |
1600 } // namespace internal | 1602 } // namespace internal |
1601 } // namespace v8 | 1603 } // namespace v8 |
1602 | 1604 |
1603 #endif // V8_ISOLATE_H_ | 1605 #endif // V8_ISOLATE_H_ |
OLD | NEW |