| 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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 STORE_AND_GROW_TRANSITION_SMI_TO_DOUBLE, | 167 STORE_AND_GROW_TRANSITION_SMI_TO_DOUBLE, |
| 168 STORE_AND_GROW_TRANSITION_DOUBLE_TO_OBJECT, | 168 STORE_AND_GROW_TRANSITION_DOUBLE_TO_OBJECT, |
| 169 STORE_AND_GROW_TRANSITION_HOLEY_SMI_TO_OBJECT, | 169 STORE_AND_GROW_TRANSITION_HOLEY_SMI_TO_OBJECT, |
| 170 STORE_AND_GROW_TRANSITION_HOLEY_SMI_TO_DOUBLE, | 170 STORE_AND_GROW_TRANSITION_HOLEY_SMI_TO_DOUBLE, |
| 171 STORE_AND_GROW_TRANSITION_HOLEY_DOUBLE_TO_OBJECT, | 171 STORE_AND_GROW_TRANSITION_HOLEY_DOUBLE_TO_OBJECT, |
| 172 STORE_NO_TRANSITION_IGNORE_OUT_OF_BOUNDS, | 172 STORE_NO_TRANSITION_IGNORE_OUT_OF_BOUNDS, |
| 173 STORE_NO_TRANSITION_HANDLE_COW | 173 STORE_NO_TRANSITION_HANDLE_COW |
| 174 }; | 174 }; |
| 175 | 175 |
| 176 | 176 |
| 177 enum SharedFlag { NOT_SHARED, SHARED }; |
| 178 |
| 179 |
| 177 enum ContextualMode { | 180 enum ContextualMode { |
| 178 NOT_CONTEXTUAL, | 181 NOT_CONTEXTUAL, |
| 179 CONTEXTUAL | 182 CONTEXTUAL |
| 180 }; | 183 }; |
| 181 | 184 |
| 182 | 185 |
| 183 enum MutableMode { | 186 enum MutableMode { |
| 184 MUTABLE, | 187 MUTABLE, |
| 185 IMMUTABLE | 188 IMMUTABLE |
| 186 }; | 189 }; |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 450 V(JS_CONTEXT_EXTENSION_OBJECT_TYPE) \ | 453 V(JS_CONTEXT_EXTENSION_OBJECT_TYPE) \ |
| 451 V(JS_GENERATOR_OBJECT_TYPE) \ | 454 V(JS_GENERATOR_OBJECT_TYPE) \ |
| 452 V(JS_MODULE_TYPE) \ | 455 V(JS_MODULE_TYPE) \ |
| 453 V(JS_GLOBAL_OBJECT_TYPE) \ | 456 V(JS_GLOBAL_OBJECT_TYPE) \ |
| 454 V(JS_BUILTINS_OBJECT_TYPE) \ | 457 V(JS_BUILTINS_OBJECT_TYPE) \ |
| 455 V(JS_GLOBAL_PROXY_TYPE) \ | 458 V(JS_GLOBAL_PROXY_TYPE) \ |
| 456 V(JS_ARRAY_TYPE) \ | 459 V(JS_ARRAY_TYPE) \ |
| 457 V(JS_ARRAY_BUFFER_TYPE) \ | 460 V(JS_ARRAY_BUFFER_TYPE) \ |
| 458 V(JS_TYPED_ARRAY_TYPE) \ | 461 V(JS_TYPED_ARRAY_TYPE) \ |
| 459 V(JS_DATA_VIEW_TYPE) \ | 462 V(JS_DATA_VIEW_TYPE) \ |
| 463 V(JS_SHARED_ARRAY_BUFFER_TYPE) \ |
| 464 V(JS_SHARED_TYPED_ARRAY_TYPE) \ |
| 460 V(JS_PROXY_TYPE) \ | 465 V(JS_PROXY_TYPE) \ |
| 461 V(JS_SET_TYPE) \ | 466 V(JS_SET_TYPE) \ |
| 462 V(JS_MAP_TYPE) \ | 467 V(JS_MAP_TYPE) \ |
| 463 V(JS_SET_ITERATOR_TYPE) \ | 468 V(JS_SET_ITERATOR_TYPE) \ |
| 464 V(JS_MAP_ITERATOR_TYPE) \ | 469 V(JS_MAP_ITERATOR_TYPE) \ |
| 465 V(JS_WEAK_MAP_TYPE) \ | 470 V(JS_WEAK_MAP_TYPE) \ |
| 466 V(JS_WEAK_SET_TYPE) \ | 471 V(JS_WEAK_SET_TYPE) \ |
| 467 V(JS_REGEXP_TYPE) \ | 472 V(JS_REGEXP_TYPE) \ |
| 468 \ | 473 \ |
| 469 V(JS_FUNCTION_TYPE) \ | 474 V(JS_FUNCTION_TYPE) \ |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 751 JS_CONTEXT_EXTENSION_OBJECT_TYPE, | 756 JS_CONTEXT_EXTENSION_OBJECT_TYPE, |
| 752 JS_GENERATOR_OBJECT_TYPE, | 757 JS_GENERATOR_OBJECT_TYPE, |
| 753 JS_MODULE_TYPE, | 758 JS_MODULE_TYPE, |
| 754 JS_GLOBAL_OBJECT_TYPE, | 759 JS_GLOBAL_OBJECT_TYPE, |
| 755 JS_BUILTINS_OBJECT_TYPE, | 760 JS_BUILTINS_OBJECT_TYPE, |
| 756 JS_GLOBAL_PROXY_TYPE, | 761 JS_GLOBAL_PROXY_TYPE, |
| 757 JS_ARRAY_TYPE, | 762 JS_ARRAY_TYPE, |
| 758 JS_ARRAY_BUFFER_TYPE, | 763 JS_ARRAY_BUFFER_TYPE, |
| 759 JS_TYPED_ARRAY_TYPE, | 764 JS_TYPED_ARRAY_TYPE, |
| 760 JS_DATA_VIEW_TYPE, | 765 JS_DATA_VIEW_TYPE, |
| 766 JS_SHARED_ARRAY_BUFFER_TYPE, |
| 767 JS_SHARED_TYPED_ARRAY_TYPE, |
| 761 JS_SET_TYPE, | 768 JS_SET_TYPE, |
| 762 JS_MAP_TYPE, | 769 JS_MAP_TYPE, |
| 763 JS_SET_ITERATOR_TYPE, | 770 JS_SET_ITERATOR_TYPE, |
| 764 JS_MAP_ITERATOR_TYPE, | 771 JS_MAP_ITERATOR_TYPE, |
| 765 JS_WEAK_MAP_TYPE, | 772 JS_WEAK_MAP_TYPE, |
| 766 JS_WEAK_SET_TYPE, | 773 JS_WEAK_SET_TYPE, |
| 767 JS_REGEXP_TYPE, | 774 JS_REGEXP_TYPE, |
| 768 JS_FUNCTION_TYPE, // LAST_JS_OBJECT_TYPE, LAST_JS_RECEIVER_TYPE | 775 JS_FUNCTION_TYPE, // LAST_JS_OBJECT_TYPE, LAST_JS_RECEIVER_TYPE |
| 769 | 776 |
| 770 // Pseudo-types | 777 // Pseudo-types |
| (...skipping 9487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10258 | 10265 |
| 10259 inline bool is_external(); | 10266 inline bool is_external(); |
| 10260 inline void set_is_external(bool value); | 10267 inline void set_is_external(bool value); |
| 10261 | 10268 |
| 10262 inline bool is_neuterable(); | 10269 inline bool is_neuterable(); |
| 10263 inline void set_is_neuterable(bool value); | 10270 inline void set_is_neuterable(bool value); |
| 10264 | 10271 |
| 10265 inline bool was_neutered(); | 10272 inline bool was_neutered(); |
| 10266 inline void set_was_neutered(bool value); | 10273 inline void set_was_neutered(bool value); |
| 10267 | 10274 |
| 10275 inline bool is_shared(); |
| 10276 |
| 10268 DECLARE_CAST(JSArrayBuffer) | 10277 DECLARE_CAST(JSArrayBuffer) |
| 10269 | 10278 |
| 10270 void Neuter(); | 10279 void Neuter(); |
| 10271 | 10280 |
| 10272 // Dispatched behavior. | 10281 // Dispatched behavior. |
| 10273 DECLARE_PRINTER(JSArrayBuffer) | 10282 DECLARE_PRINTER(JSArrayBuffer) |
| 10274 DECLARE_VERIFIER(JSArrayBuffer) | 10283 DECLARE_VERIFIER(JSArrayBuffer) |
| 10275 | 10284 |
| 10276 static const int kBackingStoreOffset = JSObject::kHeaderSize; | 10285 static const int kBackingStoreOffset = JSObject::kHeaderSize; |
| 10277 static const int kByteLengthOffset = kBackingStoreOffset + kPointerSize; | 10286 static const int kByteLengthOffset = kBackingStoreOffset + kPointerSize; |
| (...skipping 27 matching lines...) Expand all Loading... |
| 10305 | 10314 |
| 10306 // [byte_length]: length of typed array in bytes. | 10315 // [byte_length]: length of typed array in bytes. |
| 10307 DECL_ACCESSORS(byte_length, Object) | 10316 DECL_ACCESSORS(byte_length, Object) |
| 10308 | 10317 |
| 10309 DECLARE_CAST(JSArrayBufferView) | 10318 DECLARE_CAST(JSArrayBufferView) |
| 10310 | 10319 |
| 10311 DECLARE_VERIFIER(JSArrayBufferView) | 10320 DECLARE_VERIFIER(JSArrayBufferView) |
| 10312 | 10321 |
| 10313 inline bool WasNeutered() const; | 10322 inline bool WasNeutered() const; |
| 10314 | 10323 |
| 10324 inline bool is_shared() const; |
| 10325 |
| 10315 static const int kBufferOffset = JSObject::kHeaderSize; | 10326 static const int kBufferOffset = JSObject::kHeaderSize; |
| 10316 static const int kByteOffsetOffset = kBufferOffset + kPointerSize; | 10327 static const int kByteOffsetOffset = kBufferOffset + kPointerSize; |
| 10317 static const int kByteLengthOffset = kByteOffsetOffset + kPointerSize; | 10328 static const int kByteLengthOffset = kByteOffsetOffset + kPointerSize; |
| 10318 static const int kViewSize = kByteLengthOffset + kPointerSize; | 10329 static const int kViewSize = kByteLengthOffset + kPointerSize; |
| 10319 | 10330 |
| 10320 private: | 10331 private: |
| 10321 #ifdef VERIFY_HEAP | 10332 #ifdef VERIFY_HEAP |
| 10322 DECL_ACCESSORS(raw_byte_offset, Object) | 10333 DECL_ACCESSORS(raw_byte_offset, Object) |
| 10323 DECL_ACCESSORS(raw_byte_length, Object) | 10334 DECL_ACCESSORS(raw_byte_length, Object) |
| 10324 #endif | 10335 #endif |
| (...skipping 790 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11115 } else { | 11126 } else { |
| 11116 value &= ~(1 << bit_position); | 11127 value &= ~(1 << bit_position); |
| 11117 } | 11128 } |
| 11118 return value; | 11129 return value; |
| 11119 } | 11130 } |
| 11120 }; | 11131 }; |
| 11121 | 11132 |
| 11122 } } // namespace v8::internal | 11133 } } // namespace v8::internal |
| 11123 | 11134 |
| 11124 #endif // V8_OBJECTS_H_ | 11135 #endif // V8_OBJECTS_H_ |
| OLD | NEW |