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 5831 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5842 // Returns true if the current map doesn't have DICTIONARY_ELEMENTS but if a | 5842 // Returns true if the current map doesn't have DICTIONARY_ELEMENTS but if a |
5843 // map with DICTIONARY_ELEMENTS was found in the prototype chain. | 5843 // map with DICTIONARY_ELEMENTS was found in the prototype chain. |
5844 bool DictionaryElementsInPrototypeChainOnly(); | 5844 bool DictionaryElementsInPrototypeChainOnly(); |
5845 | 5845 |
5846 inline bool HasTransitionArray() const; | 5846 inline bool HasTransitionArray() const; |
5847 inline bool HasElementsTransition(); | 5847 inline bool HasElementsTransition(); |
5848 inline Map* elements_transition_map(); | 5848 inline Map* elements_transition_map(); |
5849 | 5849 |
5850 inline Map* GetTransition(int transition_index); | 5850 inline Map* GetTransition(int transition_index); |
5851 inline int SearchSpecialTransition(Symbol* name); | 5851 inline int SearchSpecialTransition(Symbol* name); |
5852 inline int SearchTransition(PropertyType type, Name* name, | 5852 inline int SearchTransition(PropertyKind kind, Name* name, |
5853 PropertyAttributes attributes); | 5853 PropertyAttributes attributes); |
5854 inline FixedArrayBase* GetInitialElements(); | 5854 inline FixedArrayBase* GetInitialElements(); |
5855 | 5855 |
5856 DECL_ACCESSORS(transitions, TransitionArray) | 5856 DECL_ACCESSORS(transitions, TransitionArray) |
5857 | 5857 |
5858 static inline Handle<String> ExpectedTransitionKey(Handle<Map> map); | 5858 static inline Handle<String> ExpectedTransitionKey(Handle<Map> map); |
5859 static inline Handle<Map> ExpectedTransitionTarget(Handle<Map> map); | 5859 static inline Handle<Map> ExpectedTransitionTarget(Handle<Map> map); |
5860 | 5860 |
5861 // Try to follow an existing transition to a field with attributes NONE. The | 5861 // Try to follow an existing transition to a field with attributes NONE. The |
5862 // return value indicates whether the transition was successful. | 5862 // return value indicates whether the transition was successful. |
(...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6419 // Zaps the contents of backing data structures. Note that the | 6419 // Zaps the contents of backing data structures. Note that the |
6420 // heap verifier (i.e. VerifyMarkingVisitor) relies on zapping of objects | 6420 // heap verifier (i.e. VerifyMarkingVisitor) relies on zapping of objects |
6421 // holding weak references when incremental marking is used, because it also | 6421 // holding weak references when incremental marking is used, because it also |
6422 // iterates over objects that are otherwise unreachable. | 6422 // iterates over objects that are otherwise unreachable. |
6423 // In general we only want to call these functions in release mode when | 6423 // In general we only want to call these functions in release mode when |
6424 // heap verification is turned on. | 6424 // heap verification is turned on. |
6425 void ZapPrototypeTransitions(); | 6425 void ZapPrototypeTransitions(); |
6426 void ZapTransitions(); | 6426 void ZapTransitions(); |
6427 | 6427 |
6428 void DeprecateTransitionTree(); | 6428 void DeprecateTransitionTree(); |
6429 bool DeprecateTarget(PropertyType type, Name* key, | 6429 bool DeprecateTarget(PropertyKind kind, Name* key, |
6430 PropertyAttributes attributes, | 6430 PropertyAttributes attributes, |
6431 DescriptorArray* new_descriptors, | 6431 DescriptorArray* new_descriptors, |
6432 LayoutDescriptor* new_layout_descriptor); | 6432 LayoutDescriptor* new_layout_descriptor); |
6433 | 6433 |
6434 Map* FindLastMatchMap(int verbatim, int length, DescriptorArray* descriptors); | 6434 Map* FindLastMatchMap(int verbatim, int length, DescriptorArray* descriptors); |
6435 | 6435 |
6436 void UpdateFieldType(int descriptor_number, Handle<Name> name, | 6436 void UpdateFieldType(int descriptor_number, Handle<Name> name, |
6437 Representation new_representation, | 6437 Representation new_representation, |
6438 Handle<HeapType> new_type); | 6438 Handle<HeapType> new_type); |
6439 | 6439 |
(...skipping 4603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11043 } else { | 11043 } else { |
11044 value &= ~(1 << bit_position); | 11044 value &= ~(1 << bit_position); |
11045 } | 11045 } |
11046 return value; | 11046 return value; |
11047 } | 11047 } |
11048 }; | 11048 }; |
11049 | 11049 |
11050 } } // namespace v8::internal | 11050 } } // namespace v8::internal |
11051 | 11051 |
11052 #endif // V8_OBJECTS_H_ | 11052 #endif // V8_OBJECTS_H_ |
OLD | NEW |