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 2192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2203 static void ReoptimizeIfPrototype(Handle<JSObject> object); | 2203 static void ReoptimizeIfPrototype(Handle<JSObject> object); |
2204 static void MakePrototypesFast(Handle<Object> receiver, | 2204 static void MakePrototypesFast(Handle<Object> receiver, |
2205 WhereToStart where_to_start, Isolate* isolate); | 2205 WhereToStart where_to_start, Isolate* isolate); |
2206 static void LazyRegisterPrototypeUser(Handle<Map> user, Isolate* isolate); | 2206 static void LazyRegisterPrototypeUser(Handle<Map> user, Isolate* isolate); |
2207 static void UpdatePrototypeUserRegistration(Handle<Map> old_map, | 2207 static void UpdatePrototypeUserRegistration(Handle<Map> old_map, |
2208 Handle<Map> new_map, | 2208 Handle<Map> new_map, |
2209 Isolate* isolate); | 2209 Isolate* isolate); |
2210 static bool UnregisterPrototypeUser(Handle<Map> user, Isolate* isolate); | 2210 static bool UnregisterPrototypeUser(Handle<Map> user, Isolate* isolate); |
2211 static void InvalidatePrototypeChains(Map* map); | 2211 static void InvalidatePrototypeChains(Map* map); |
2212 | 2212 |
| 2213 // Utility used by many Array builtins and runtime functions |
| 2214 static inline bool PrototypeHasNoElements(Isolate* isolate, JSObject* object); |
| 2215 |
2213 // Alternative implementation of WeakFixedArray::NullCallback. | 2216 // Alternative implementation of WeakFixedArray::NullCallback. |
2214 class PrototypeRegistryCompactionCallback { | 2217 class PrototypeRegistryCompactionCallback { |
2215 public: | 2218 public: |
2216 static void Callback(Object* value, int old_index, int new_index); | 2219 static void Callback(Object* value, int old_index, int new_index); |
2217 }; | 2220 }; |
2218 | 2221 |
2219 // Retrieve interceptors. | 2222 // Retrieve interceptors. |
2220 inline InterceptorInfo* GetNamedInterceptor(); | 2223 inline InterceptorInfo* GetNamedInterceptor(); |
2221 inline InterceptorInfo* GetIndexedInterceptor(); | 2224 inline InterceptorInfo* GetIndexedInterceptor(); |
2222 | 2225 |
(...skipping 8828 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11051 } | 11054 } |
11052 return value; | 11055 return value; |
11053 } | 11056 } |
11054 }; | 11057 }; |
11055 | 11058 |
11056 | 11059 |
11057 } // NOLINT, false-positive due to second-order macros. | 11060 } // NOLINT, false-positive due to second-order macros. |
11058 } // NOLINT, false-positive due to second-order macros. | 11061 } // NOLINT, false-positive due to second-order macros. |
11059 | 11062 |
11060 #endif // V8_OBJECTS_H_ | 11063 #endif // V8_OBJECTS_H_ |
OLD | NEW |