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 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 2177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2188 static void ReoptimizeIfPrototype(Handle<JSObject> object); | 2188 static void ReoptimizeIfPrototype(Handle<JSObject> object); |
2189 static void MakePrototypesFast(Handle<Object> receiver, | 2189 static void MakePrototypesFast(Handle<Object> receiver, |
2190 WhereToStart where_to_start, Isolate* isolate); | 2190 WhereToStart where_to_start, Isolate* isolate); |
2191 static void LazyRegisterPrototypeUser(Handle<Map> user, Isolate* isolate); | 2191 static void LazyRegisterPrototypeUser(Handle<Map> user, Isolate* isolate); |
2192 static void UpdatePrototypeUserRegistration(Handle<Map> old_map, | 2192 static void UpdatePrototypeUserRegistration(Handle<Map> old_map, |
2193 Handle<Map> new_map, | 2193 Handle<Map> new_map, |
2194 Isolate* isolate); | 2194 Isolate* isolate); |
2195 static bool UnregisterPrototypeUser(Handle<Map> user, Isolate* isolate); | 2195 static bool UnregisterPrototypeUser(Handle<Map> user, Isolate* isolate); |
2196 static void InvalidatePrototypeChains(Map* map); | 2196 static void InvalidatePrototypeChains(Map* map); |
2197 | 2197 |
| 2198 // Utility used by many Array builtins and runtime functions |
| 2199 static inline bool PrototypeHasNoElements(Isolate* isolate, JSObject* object); |
| 2200 |
2198 // Alternative implementation of WeakFixedArray::NullCallback. | 2201 // Alternative implementation of WeakFixedArray::NullCallback. |
2199 class PrototypeRegistryCompactionCallback { | 2202 class PrototypeRegistryCompactionCallback { |
2200 public: | 2203 public: |
2201 static void Callback(Object* value, int old_index, int new_index); | 2204 static void Callback(Object* value, int old_index, int new_index); |
2202 }; | 2205 }; |
2203 | 2206 |
2204 // Retrieve interceptors. | 2207 // Retrieve interceptors. |
2205 inline InterceptorInfo* GetNamedInterceptor(); | 2208 inline InterceptorInfo* GetNamedInterceptor(); |
2206 inline InterceptorInfo* GetIndexedInterceptor(); | 2209 inline InterceptorInfo* GetIndexedInterceptor(); |
2207 | 2210 |
(...skipping 8803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11011 } | 11014 } |
11012 return value; | 11015 return value; |
11013 } | 11016 } |
11014 }; | 11017 }; |
11015 | 11018 |
11016 | 11019 |
11017 } // NOLINT, false-positive due to second-order macros. | 11020 } // NOLINT, false-positive due to second-order macros. |
11018 } // NOLINT, false-positive due to second-order macros. | 11021 } // NOLINT, false-positive due to second-order macros. |
11019 | 11022 |
11020 #endif // V8_OBJECTS_H_ | 11023 #endif // V8_OBJECTS_H_ |
OLD | NEW |