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_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/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 5977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5988 return | 5988 return |
5989 Smi::cast(cache->get(kProtoTransitionNumberOfEntriesOffset))->value(); | 5989 Smi::cast(cache->get(kProtoTransitionNumberOfEntriesOffset))->value(); |
5990 } | 5990 } |
5991 | 5991 |
5992 inline void SetNumberOfProtoTransitions(int value) { | 5992 inline void SetNumberOfProtoTransitions(int value) { |
5993 FixedArray* cache = GetPrototypeTransitions(); | 5993 FixedArray* cache = GetPrototypeTransitions(); |
5994 DCHECK(cache->length() != 0); | 5994 DCHECK(cache->length() != 0); |
5995 cache->set(kProtoTransitionNumberOfEntriesOffset, Smi::FromInt(value)); | 5995 cache->set(kProtoTransitionNumberOfEntriesOffset, Smi::FromInt(value)); |
5996 } | 5996 } |
5997 | 5997 |
5998 // Lookup in the map's instance descriptors and fill out the result | 5998 // Lookup in the map's instance descriptors and fill out the result if the |
5999 // with the given holder if the name is found. The holder may be | 5999 // name is found. |
6000 // NULL when this function is used from the compiler. | 6000 inline void LookupDescriptor(Name* name, LookupResult* result); |
6001 inline void LookupDescriptor(JSObject* holder, | |
6002 Name* name, | |
6003 LookupResult* result); | |
6004 | 6001 |
6005 inline void LookupTransition(JSObject* holder, Name* name, | 6002 inline void LookupTransition(Name* name, PropertyAttributes attributes, |
6006 PropertyAttributes attributes, | |
6007 LookupResult* result); | 6003 LookupResult* result); |
6008 | 6004 |
6009 inline PropertyDetails GetLastDescriptorDetails(); | 6005 inline PropertyDetails GetLastDescriptorDetails(); |
6010 | 6006 |
6011 // The size of transition arrays are limited so they do not end up in large | 6007 // The size of transition arrays are limited so they do not end up in large |
6012 // object space. Otherwise ClearNonLiveTransitions would leak memory while | 6008 // object space. Otherwise ClearNonLiveTransitions would leak memory while |
6013 // applying in-place right trimming. | 6009 // applying in-place right trimming. |
6014 inline bool CanHaveMoreTransitions(); | 6010 inline bool CanHaveMoreTransitions(); |
6015 | 6011 |
6016 int LastAdded() { | 6012 int LastAdded() { |
(...skipping 4968 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10985 } else { | 10981 } else { |
10986 value &= ~(1 << bit_position); | 10982 value &= ~(1 << bit_position); |
10987 } | 10983 } |
10988 return value; | 10984 return value; |
10989 } | 10985 } |
10990 }; | 10986 }; |
10991 | 10987 |
10992 } } // namespace v8::internal | 10988 } } // namespace v8::internal |
10993 | 10989 |
10994 #endif // V8_OBJECTS_H_ | 10990 #endif // V8_OBJECTS_H_ |
OLD | NEW |