Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 169 ALLOW_CREATION, | 169 ALLOW_CREATION, |
| 170 OMIT_CREATION | 170 OMIT_CREATION |
| 171 }; | 171 }; |
| 172 | 172 |
| 173 | 173 |
| 174 // Indicates whether transitions can be added to a source map or not. | 174 // Indicates whether transitions can be added to a source map or not. |
| 175 enum TransitionFlag { | 175 enum TransitionFlag { |
| 176 INSERT_TRANSITION, | 176 INSERT_TRANSITION, |
| 177 OMIT_TRANSITION | 177 OMIT_TRANSITION |
| 178 }; | 178 }; |
| 179 | 179 |
|
Michael Starzinger
2012/09/19 09:34:55
Insert second empty newline here.
Toon Verwaest
2012/09/19 09:53:23
Done.
| |
| 180 // Indicates whether the transition is simple: it either adds a property to a | |
|
Michael Starzinger
2012/09/19 09:34:55
The comment is slightly confusing to me. Can we re
Toon Verwaest
2012/09/19 09:53:23
Done.
| |
| 181 // descriptor array; or it modifies the last added property. | |
| 182 enum SimpleTransitionFlag { | |
| 183 SIMPLE_TRANSITION, | |
| 184 FULL_TRANSITION | |
| 185 }; | |
| 186 | |
|
Michael Starzinger
2012/09/19 09:34:55
Insert second empty newline here.
Toon Verwaest
2012/09/19 09:53:23
Done.
| |
| 180 // Indicates whether we are only interested in the descriptors of a particular | 187 // Indicates whether we are only interested in the descriptors of a particular |
| 181 // map, or in all descriptors in the descriptor array. | 188 // map, or in all descriptors in the descriptor array. |
| 182 enum DescriptorFlag { | 189 enum DescriptorFlag { |
| 183 ALL_DESCRIPTORS, | 190 ALL_DESCRIPTORS, |
| 184 OWN_DESCRIPTORS | 191 OWN_DESCRIPTORS |
| 185 }; | 192 }; |
| 186 | 193 |
| 187 | 194 |
| 188 // Instance size sentinel for objects of variable size. | 195 // Instance size sentinel for objects of variable size. |
| 189 const int kVariableSizeSentinel = 0; | 196 const int kVariableSizeSentinel = 0; |
| (...skipping 4639 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4829 ElementsKind to_kind); | 4836 ElementsKind to_kind); |
| 4830 | 4837 |
| 4831 bool StoresOwnDescriptors() { return HasTransitionArray(); } | 4838 bool StoresOwnDescriptors() { return HasTransitionArray(); } |
| 4832 inline bool HasTransitionArray(); | 4839 inline bool HasTransitionArray(); |
| 4833 inline bool HasElementsTransition(); | 4840 inline bool HasElementsTransition(); |
| 4834 inline Map* elements_transition_map(); | 4841 inline Map* elements_transition_map(); |
| 4835 MUST_USE_RESULT inline MaybeObject* set_elements_transition_map( | 4842 MUST_USE_RESULT inline MaybeObject* set_elements_transition_map( |
| 4836 Map* transitioned_map); | 4843 Map* transitioned_map); |
| 4837 inline void SetTransition(int transition_index, Map* target); | 4844 inline void SetTransition(int transition_index, Map* target); |
| 4838 inline Map* GetTransition(int transition_index); | 4845 inline Map* GetTransition(int transition_index); |
| 4839 MUST_USE_RESULT inline MaybeObject* AddTransition(String* key, Map* target); | 4846 MUST_USE_RESULT inline MaybeObject* AddTransition( |
| 4847 String* key, | |
| 4848 Map* target, | |
| 4849 SimpleTransitionFlag flag = SIMPLE_TRANSITION); | |
|
Michael Starzinger
2012/09/19 09:34:55
The Google C++ Style Guide doesn't like default ar
Toon Verwaest
2012/09/19 09:53:23
Done.
| |
| 4840 DECL_ACCESSORS(transitions, TransitionArray) | 4850 DECL_ACCESSORS(transitions, TransitionArray) |
| 4841 inline void ClearTransitions(Heap* heap, | 4851 inline void ClearTransitions(Heap* heap, |
| 4842 WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 4852 WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
| 4843 | 4853 |
| 4844 // Tells whether the map is attached to SharedFunctionInfo | 4854 // Tells whether the map is attached to SharedFunctionInfo |
| 4845 // (for inobject slack tracking). | 4855 // (for inobject slack tracking). |
| 4846 inline void set_attached_to_shared_function_info(bool value); | 4856 inline void set_attached_to_shared_function_info(bool value); |
| 4847 | 4857 |
| 4848 inline bool attached_to_shared_function_info(); | 4858 inline bool attached_to_shared_function_info(); |
| 4849 | 4859 |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4980 | 4990 |
| 4981 inline bool owns_descriptors(); | 4991 inline bool owns_descriptors(); |
| 4982 inline void set_owns_descriptors(bool is_shared); | 4992 inline void set_owns_descriptors(bool is_shared); |
| 4983 | 4993 |
| 4984 MUST_USE_RESULT MaybeObject* RawCopy(int instance_size); | 4994 MUST_USE_RESULT MaybeObject* RawCopy(int instance_size); |
| 4985 MUST_USE_RESULT MaybeObject* CopyWithPreallocatedFieldDescriptors(); | 4995 MUST_USE_RESULT MaybeObject* CopyWithPreallocatedFieldDescriptors(); |
| 4986 MUST_USE_RESULT MaybeObject* CopyDropDescriptors(); | 4996 MUST_USE_RESULT MaybeObject* CopyDropDescriptors(); |
| 4987 MUST_USE_RESULT MaybeObject* CopyReplaceDescriptors( | 4997 MUST_USE_RESULT MaybeObject* CopyReplaceDescriptors( |
| 4988 DescriptorArray* descriptors, | 4998 DescriptorArray* descriptors, |
| 4989 String* name, | 4999 String* name, |
| 4990 TransitionFlag flag); | 5000 TransitionFlag flag, |
| 5001 int descriptor_index = 0); | |
|
Michael Starzinger
2012/09/19 09:34:55
Likewise. Although there are more call-sites here.
Toon Verwaest
2012/09/19 09:53:23
Done.
| |
| 4991 MUST_USE_RESULT MaybeObject* ShareDescriptor(Descriptor* descriptor); | 5002 MUST_USE_RESULT MaybeObject* ShareDescriptor(Descriptor* descriptor); |
| 4992 MUST_USE_RESULT MaybeObject* CopyAddDescriptor(Descriptor* descriptor, | 5003 MUST_USE_RESULT MaybeObject* CopyAddDescriptor(Descriptor* descriptor, |
| 4993 TransitionFlag flag); | 5004 TransitionFlag flag); |
| 4994 MUST_USE_RESULT MaybeObject* CopyInsertDescriptor(Descriptor* descriptor, | 5005 MUST_USE_RESULT MaybeObject* CopyInsertDescriptor(Descriptor* descriptor, |
| 4995 TransitionFlag flag); | 5006 TransitionFlag flag); |
| 4996 MUST_USE_RESULT MaybeObject* CopyReplaceDescriptor(Descriptor* descriptor, | 5007 MUST_USE_RESULT MaybeObject* CopyReplaceDescriptor(Descriptor* descriptor, |
| 4997 int index, | 5008 int index, |
| 4998 TransitionFlag flag); | 5009 TransitionFlag flag); |
| 4999 MUST_USE_RESULT MaybeObject* CopyAsElementsKind(ElementsKind kind, | 5010 MUST_USE_RESULT MaybeObject* CopyAsElementsKind(ElementsKind kind, |
| 5000 TransitionFlag flag); | 5011 TransitionFlag flag); |
| (...skipping 4005 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 9006 } else { | 9017 } else { |
| 9007 value &= ~(1 << bit_position); | 9018 value &= ~(1 << bit_position); |
| 9008 } | 9019 } |
| 9009 return value; | 9020 return value; |
| 9010 } | 9021 } |
| 9011 }; | 9022 }; |
| 9012 | 9023 |
| 9013 } } // namespace v8::internal | 9024 } } // namespace v8::internal |
| 9014 | 9025 |
| 9015 #endif // V8_OBJECTS_H_ | 9026 #endif // V8_OBJECTS_H_ |
| OLD | NEW |