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 | 9 |
10 #include "src/assert-scope.h" | 10 #include "src/assert-scope.h" |
(...skipping 2175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2186 static void ReoptimizeIfPrototype(Handle<JSObject> object); | 2186 static void ReoptimizeIfPrototype(Handle<JSObject> object); |
2187 static void MakePrototypesFast(Handle<Object> receiver, | 2187 static void MakePrototypesFast(Handle<Object> receiver, |
2188 WhereToStart where_to_start, Isolate* isolate); | 2188 WhereToStart where_to_start, Isolate* isolate); |
2189 static void LazyRegisterPrototypeUser(Handle<Map> user, Isolate* isolate); | 2189 static void LazyRegisterPrototypeUser(Handle<Map> user, Isolate* isolate); |
2190 static void UpdatePrototypeUserRegistration(Handle<Map> old_map, | 2190 static void UpdatePrototypeUserRegistration(Handle<Map> old_map, |
2191 Handle<Map> new_map, | 2191 Handle<Map> new_map, |
2192 Isolate* isolate); | 2192 Isolate* isolate); |
2193 static bool UnregisterPrototypeUser(Handle<Map> user, Isolate* isolate); | 2193 static bool UnregisterPrototypeUser(Handle<Map> user, Isolate* isolate); |
2194 static void InvalidatePrototypeChains(Map* map); | 2194 static void InvalidatePrototypeChains(Map* map); |
2195 | 2195 |
| 2196 // Utility used by many Array builtins and runtime functions |
| 2197 static inline bool PrototypeHasNoElements(Isolate* isolate, JSObject* object); |
| 2198 |
2196 // Alternative implementation of WeakFixedArray::NullCallback. | 2199 // Alternative implementation of WeakFixedArray::NullCallback. |
2197 class PrototypeRegistryCompactionCallback { | 2200 class PrototypeRegistryCompactionCallback { |
2198 public: | 2201 public: |
2199 static void Callback(Object* value, int old_index, int new_index); | 2202 static void Callback(Object* value, int old_index, int new_index); |
2200 }; | 2203 }; |
2201 | 2204 |
2202 // Retrieve interceptors. | 2205 // Retrieve interceptors. |
2203 inline InterceptorInfo* GetNamedInterceptor(); | 2206 inline InterceptorInfo* GetNamedInterceptor(); |
2204 inline InterceptorInfo* GetIndexedInterceptor(); | 2207 inline InterceptorInfo* GetIndexedInterceptor(); |
2205 | 2208 |
(...skipping 8787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10993 } | 10996 } |
10994 return value; | 10997 return value; |
10995 } | 10998 } |
10996 }; | 10999 }; |
10997 | 11000 |
10998 | 11001 |
10999 } // NOLINT, false-positive due to second-order macros. | 11002 } // NOLINT, false-positive due to second-order macros. |
11000 } // NOLINT, false-positive due to second-order macros. | 11003 } // NOLINT, false-positive due to second-order macros. |
11001 | 11004 |
11002 #endif // V8_OBJECTS_H_ | 11005 #endif // V8_OBJECTS_H_ |
OLD | NEW |