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 // 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 9479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10250 | 10257 |
| 10251 inline bool should_be_freed(); | 10258 inline bool should_be_freed(); |
| 10252 inline void set_should_be_freed(bool value); | 10259 inline void set_should_be_freed(bool value); |
| 10253 | 10260 |
| 10254 inline bool is_neuterable(); | 10261 inline bool is_neuterable(); |
| 10255 inline void set_is_neuterable(bool value); | 10262 inline void set_is_neuterable(bool value); |
| 10256 | 10263 |
| 10257 inline bool was_neutered(); | 10264 inline bool was_neutered(); |
| 10258 inline void set_was_neutered(bool value); | 10265 inline void set_was_neutered(bool value); |
| 10259 | 10266 |
| 10267 inline SharedFlag is_shared(); | |
|
jochen (gone - plz use gerrit)
2015/04/28 18:31:46
why is that not just a bool like the other bits?
binji
2015/04/29 18:27:22
Done.
| |
| 10268 | |
| 10260 // [weak_next]: linked list of array buffers. | 10269 // [weak_next]: linked list of array buffers. |
| 10261 DECL_ACCESSORS(weak_next, Object) | 10270 DECL_ACCESSORS(weak_next, Object) |
| 10262 | 10271 |
| 10263 DECLARE_CAST(JSArrayBuffer) | 10272 DECLARE_CAST(JSArrayBuffer) |
| 10264 | 10273 |
| 10265 void Neuter(); | 10274 void Neuter(); |
| 10266 | 10275 |
| 10267 // Dispatched behavior. | 10276 // Dispatched behavior. |
| 10268 DECLARE_PRINTER(JSArrayBuffer) | 10277 DECLARE_PRINTER(JSArrayBuffer) |
| 10269 DECLARE_VERIFIER(JSArrayBuffer) | 10278 DECLARE_VERIFIER(JSArrayBuffer) |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10318 | 10327 |
| 10319 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayBufferView); | 10328 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayBufferView); |
| 10320 }; | 10329 }; |
| 10321 | 10330 |
| 10322 | 10331 |
| 10323 class JSTypedArray: public JSArrayBufferView { | 10332 class JSTypedArray: public JSArrayBufferView { |
| 10324 public: | 10333 public: |
| 10325 // [length]: length of typed array in elements. | 10334 // [length]: length of typed array in elements. |
| 10326 DECL_ACCESSORS(length, Object) | 10335 DECL_ACCESSORS(length, Object) |
| 10327 | 10336 |
| 10337 // [is_shared] | |
| 10338 inline SharedFlag is_shared() const; | |
| 10339 | |
| 10328 DECLARE_CAST(JSTypedArray) | 10340 DECLARE_CAST(JSTypedArray) |
| 10329 | 10341 |
| 10330 ExternalArrayType type(); | 10342 ExternalArrayType type(); |
| 10331 size_t element_size(); | 10343 size_t element_size(); |
| 10332 | 10344 |
| 10333 Handle<JSArrayBuffer> GetBuffer(); | 10345 Handle<JSArrayBuffer> GetBuffer(); |
| 10334 | 10346 |
| 10335 // Dispatched behavior. | 10347 // Dispatched behavior. |
| 10336 DECLARE_PRINTER(JSTypedArray) | 10348 DECLARE_PRINTER(JSTypedArray) |
| 10337 DECLARE_VERIFIER(JSTypedArray) | 10349 DECLARE_VERIFIER(JSTypedArray) |
| (...skipping 765 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 11103 } else { | 11115 } else { |
| 11104 value &= ~(1 << bit_position); | 11116 value &= ~(1 << bit_position); |
| 11105 } | 11117 } |
| 11106 return value; | 11118 return value; |
| 11107 } | 11119 } |
| 11108 }; | 11120 }; |
| 11109 | 11121 |
| 11110 } } // namespace v8::internal | 11122 } } // namespace v8::internal |
| 11111 | 11123 |
| 11112 #endif // V8_OBJECTS_H_ | 11124 #endif // V8_OBJECTS_H_ |
| OLD | NEW |