| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 // - JSWeakSet | 66 // - JSWeakSet |
| 67 // - JSRegExp | 67 // - JSRegExp |
| 68 // - JSFunction | 68 // - JSFunction |
| 69 // - JSGeneratorObject | 69 // - JSGeneratorObject |
| 70 // - JSGlobalObject | 70 // - JSGlobalObject |
| 71 // - JSGlobalProxy | 71 // - JSGlobalProxy |
| 72 // - JSValue | 72 // - JSValue |
| 73 // - JSDate | 73 // - JSDate |
| 74 // - JSMessageObject | 74 // - JSMessageObject |
| 75 // - JSModuleNamespace | 75 // - JSModuleNamespace |
| 76 // - WasmInstanceObject |
| 77 // - WasmMemoryObject |
| 78 // - WasmModuleObject |
| 79 // - WasmTableObject |
| 76 // - JSProxy | 80 // - JSProxy |
| 77 // - FixedArrayBase | 81 // - FixedArrayBase |
| 78 // - ByteArray | 82 // - ByteArray |
| 79 // - BytecodeArray | 83 // - BytecodeArray |
| 80 // - FixedArray | 84 // - FixedArray |
| 81 // - DescriptorArray | 85 // - DescriptorArray |
| 82 // - FrameArray | 86 // - FrameArray |
| 83 // - HashTable | 87 // - HashTable |
| 84 // - Dictionary | 88 // - Dictionary |
| 85 // - StringTable | 89 // - StringTable |
| 86 // - StringSet | 90 // - StringSet |
| 87 // - CompilationCacheTable | 91 // - CompilationCacheTable |
| 88 // - CodeCacheHashTable | 92 // - CodeCacheHashTable |
| 89 // - MapCache | 93 // - MapCache |
| 90 // - OrderedHashTable | 94 // - OrderedHashTable |
| 91 // - OrderedHashSet | 95 // - OrderedHashSet |
| 92 // - OrderedHashMap | 96 // - OrderedHashMap |
| 93 // - Context | 97 // - Context |
| 94 // - FeedbackMetadata | 98 // - FeedbackMetadata |
| 95 // - FeedbackVector | 99 // - FeedbackVector |
| 96 // - TemplateList | 100 // - TemplateList |
| 97 // - TransitionArray | 101 // - TransitionArray |
| 98 // - ScopeInfo | 102 // - ScopeInfo |
| 99 // - ModuleInfo | 103 // - ModuleInfo |
| 100 // - ScriptContextTable | 104 // - ScriptContextTable |
| 101 // - WeakFixedArray | 105 // - WeakFixedArray |
| 106 // - WasmSharedModuleData |
| 107 // - WasmCompiledModule |
| 102 // - FixedDoubleArray | 108 // - FixedDoubleArray |
| 103 // - Name | 109 // - Name |
| 104 // - String | 110 // - String |
| 105 // - SeqString | 111 // - SeqString |
| 106 // - SeqOneByteString | 112 // - SeqOneByteString |
| 107 // - SeqTwoByteString | 113 // - SeqTwoByteString |
| 108 // - SlicedString | 114 // - SlicedString |
| 109 // - ConsString | 115 // - ConsString |
| 110 // - ThinString | 116 // - ThinString |
| 111 // - ExternalString | 117 // - ExternalString |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 V(JS_UINT8_CLAMPED_ARRAY_VALUE_ITERATOR_TYPE) \ | 444 V(JS_UINT8_CLAMPED_ARRAY_VALUE_ITERATOR_TYPE) \ |
| 439 \ | 445 \ |
| 440 V(JS_FAST_SMI_ARRAY_VALUE_ITERATOR_TYPE) \ | 446 V(JS_FAST_SMI_ARRAY_VALUE_ITERATOR_TYPE) \ |
| 441 V(JS_FAST_HOLEY_SMI_ARRAY_VALUE_ITERATOR_TYPE) \ | 447 V(JS_FAST_HOLEY_SMI_ARRAY_VALUE_ITERATOR_TYPE) \ |
| 442 V(JS_FAST_ARRAY_VALUE_ITERATOR_TYPE) \ | 448 V(JS_FAST_ARRAY_VALUE_ITERATOR_TYPE) \ |
| 443 V(JS_FAST_HOLEY_ARRAY_VALUE_ITERATOR_TYPE) \ | 449 V(JS_FAST_HOLEY_ARRAY_VALUE_ITERATOR_TYPE) \ |
| 444 V(JS_FAST_DOUBLE_ARRAY_VALUE_ITERATOR_TYPE) \ | 450 V(JS_FAST_DOUBLE_ARRAY_VALUE_ITERATOR_TYPE) \ |
| 445 V(JS_FAST_HOLEY_DOUBLE_ARRAY_VALUE_ITERATOR_TYPE) \ | 451 V(JS_FAST_HOLEY_DOUBLE_ARRAY_VALUE_ITERATOR_TYPE) \ |
| 446 V(JS_GENERIC_ARRAY_VALUE_ITERATOR_TYPE) \ | 452 V(JS_GENERIC_ARRAY_VALUE_ITERATOR_TYPE) \ |
| 447 \ | 453 \ |
| 454 V(WASM_INSTANCE_TYPE) \ |
| 455 V(WASM_MEMORY_TYPE) \ |
| 456 V(WASM_MODULE_TYPE) \ |
| 457 V(WASM_TABLE_TYPE) \ |
| 448 V(JS_BOUND_FUNCTION_TYPE) \ | 458 V(JS_BOUND_FUNCTION_TYPE) \ |
| 449 V(JS_FUNCTION_TYPE) | 459 V(JS_FUNCTION_TYPE) |
| 450 | 460 |
| 451 // Since string types are not consecutive, this macro is used to | 461 // Since string types are not consecutive, this macro is used to |
| 452 // iterate over them. | 462 // iterate over them. |
| 453 #define STRING_TYPE_LIST(V) \ | 463 #define STRING_TYPE_LIST(V) \ |
| 454 V(STRING_TYPE, kVariableSizeSentinel, string, String) \ | 464 V(STRING_TYPE, kVariableSizeSentinel, string, String) \ |
| 455 V(ONE_BYTE_STRING_TYPE, kVariableSizeSentinel, one_byte_string, \ | 465 V(ONE_BYTE_STRING_TYPE, kVariableSizeSentinel, one_byte_string, \ |
| 456 OneByteString) \ | 466 OneByteString) \ |
| 457 V(CONS_STRING_TYPE, ConsString::kSize, cons_string, ConsString) \ | 467 V(CONS_STRING_TYPE, ConsString::kSize, cons_string, ConsString) \ |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 791 JS_UINT8_CLAMPED_ARRAY_VALUE_ITERATOR_TYPE, | 801 JS_UINT8_CLAMPED_ARRAY_VALUE_ITERATOR_TYPE, |
| 792 | 802 |
| 793 JS_FAST_SMI_ARRAY_VALUE_ITERATOR_TYPE, | 803 JS_FAST_SMI_ARRAY_VALUE_ITERATOR_TYPE, |
| 794 JS_FAST_HOLEY_SMI_ARRAY_VALUE_ITERATOR_TYPE, | 804 JS_FAST_HOLEY_SMI_ARRAY_VALUE_ITERATOR_TYPE, |
| 795 JS_FAST_ARRAY_VALUE_ITERATOR_TYPE, | 805 JS_FAST_ARRAY_VALUE_ITERATOR_TYPE, |
| 796 JS_FAST_HOLEY_ARRAY_VALUE_ITERATOR_TYPE, | 806 JS_FAST_HOLEY_ARRAY_VALUE_ITERATOR_TYPE, |
| 797 JS_FAST_DOUBLE_ARRAY_VALUE_ITERATOR_TYPE, | 807 JS_FAST_DOUBLE_ARRAY_VALUE_ITERATOR_TYPE, |
| 798 JS_FAST_HOLEY_DOUBLE_ARRAY_VALUE_ITERATOR_TYPE, | 808 JS_FAST_HOLEY_DOUBLE_ARRAY_VALUE_ITERATOR_TYPE, |
| 799 JS_GENERIC_ARRAY_VALUE_ITERATOR_TYPE, | 809 JS_GENERIC_ARRAY_VALUE_ITERATOR_TYPE, |
| 800 | 810 |
| 811 WASM_INSTANCE_TYPE, |
| 812 WASM_MEMORY_TYPE, |
| 813 WASM_MODULE_TYPE, |
| 814 WASM_TABLE_TYPE, |
| 801 JS_BOUND_FUNCTION_TYPE, | 815 JS_BOUND_FUNCTION_TYPE, |
| 802 JS_FUNCTION_TYPE, // LAST_JS_OBJECT_TYPE, LAST_JS_RECEIVER_TYPE | 816 JS_FUNCTION_TYPE, // LAST_JS_OBJECT_TYPE, LAST_JS_RECEIVER_TYPE |
| 803 | 817 |
| 804 // Pseudo-types | 818 // Pseudo-types |
| 805 FIRST_TYPE = 0x0, | 819 FIRST_TYPE = 0x0, |
| 806 LAST_TYPE = JS_FUNCTION_TYPE, | 820 LAST_TYPE = JS_FUNCTION_TYPE, |
| 807 FIRST_NAME_TYPE = FIRST_TYPE, | 821 FIRST_NAME_TYPE = FIRST_TYPE, |
| 808 LAST_NAME_TYPE = SYMBOL_TYPE, | 822 LAST_NAME_TYPE = SYMBOL_TYPE, |
| 809 FIRST_UNIQUE_NAME_TYPE = INTERNALIZED_STRING_TYPE, | 823 FIRST_UNIQUE_NAME_TYPE = INTERNALIZED_STRING_TYPE, |
| 810 LAST_UNIQUE_NAME_TYPE = SYMBOL_TYPE, | 824 LAST_UNIQUE_NAME_TYPE = SYMBOL_TYPE, |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1046 V(JSDate) \ | 1060 V(JSDate) \ |
| 1047 V(JSError) \ | 1061 V(JSError) \ |
| 1048 V(JSFunction) \ | 1062 V(JSFunction) \ |
| 1049 V(JSGeneratorObject) \ | 1063 V(JSGeneratorObject) \ |
| 1050 V(JSGlobalObject) \ | 1064 V(JSGlobalObject) \ |
| 1051 V(JSGlobalProxy) \ | 1065 V(JSGlobalProxy) \ |
| 1052 V(JSMap) \ | 1066 V(JSMap) \ |
| 1053 V(JSMapIterator) \ | 1067 V(JSMapIterator) \ |
| 1054 V(JSMessageObject) \ | 1068 V(JSMessageObject) \ |
| 1055 V(JSModuleNamespace) \ | 1069 V(JSModuleNamespace) \ |
| 1070 V(WasmInstanceObject) \ |
| 1071 V(WasmMemoryObject) \ |
| 1072 V(WasmModuleObject) \ |
| 1073 V(WasmTableObject) \ |
| 1056 V(JSObject) \ | 1074 V(JSObject) \ |
| 1057 V(JSPromise) \ | 1075 V(JSPromise) \ |
| 1058 V(JSPromiseCapability) \ | 1076 V(JSPromiseCapability) \ |
| 1059 V(JSProxy) \ | 1077 V(JSProxy) \ |
| 1060 V(JSReceiver) \ | 1078 V(JSReceiver) \ |
| 1061 V(JSRegExp) \ | 1079 V(JSRegExp) \ |
| 1062 V(JSSet) \ | 1080 V(JSSet) \ |
| 1063 V(JSSetIterator) \ | 1081 V(JSSetIterator) \ |
| 1064 V(JSSloppyArgumentsObject) \ | 1082 V(JSSloppyArgumentsObject) \ |
| 1065 V(JSStringIterator) \ | 1083 V(JSStringIterator) \ |
| (...skipping 1316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2382 // Support functions for v8 api (needed for correct interceptor behavior). | 2400 // Support functions for v8 api (needed for correct interceptor behavior). |
| 2383 MUST_USE_RESULT static Maybe<bool> HasRealNamedProperty( | 2401 MUST_USE_RESULT static Maybe<bool> HasRealNamedProperty( |
| 2384 Handle<JSObject> object, Handle<Name> name); | 2402 Handle<JSObject> object, Handle<Name> name); |
| 2385 MUST_USE_RESULT static Maybe<bool> HasRealElementProperty( | 2403 MUST_USE_RESULT static Maybe<bool> HasRealElementProperty( |
| 2386 Handle<JSObject> object, uint32_t index); | 2404 Handle<JSObject> object, uint32_t index); |
| 2387 MUST_USE_RESULT static Maybe<bool> HasRealNamedCallbackProperty( | 2405 MUST_USE_RESULT static Maybe<bool> HasRealNamedCallbackProperty( |
| 2388 Handle<JSObject> object, Handle<Name> name); | 2406 Handle<JSObject> object, Handle<Name> name); |
| 2389 | 2407 |
| 2390 // Get the header size for a JSObject. Used to compute the index of | 2408 // Get the header size for a JSObject. Used to compute the index of |
| 2391 // embedder fields as well as the number of embedder fields. | 2409 // embedder fields as well as the number of embedder fields. |
| 2392 static inline int GetHeaderSize(InstanceType instance_type); | 2410 static int GetHeaderSize(InstanceType instance_type); |
| 2393 inline int GetHeaderSize(); | 2411 inline int GetHeaderSize(); |
| 2394 | 2412 |
| 2395 static inline int GetEmbedderFieldCount(const Map* map); | 2413 static inline int GetEmbedderFieldCount(const Map* map); |
| 2396 inline int GetEmbedderFieldCount() const; | 2414 inline int GetEmbedderFieldCount() const; |
| 2397 inline int GetEmbedderFieldOffset(int index); | 2415 inline int GetEmbedderFieldOffset(int index); |
| 2398 inline Object* GetEmbedderField(int index); | 2416 inline Object* GetEmbedderField(int index); |
| 2399 inline void SetEmbedderField(int index, Object* value); | 2417 inline void SetEmbedderField(int index, Object* value); |
| 2400 inline void SetEmbedderField(int index, Smi* value); | 2418 inline void SetEmbedderField(int index, Smi* value); |
| 2401 bool WasConstructedFromApiFunction(); | 2419 bool WasConstructedFromApiFunction(); |
| 2402 | 2420 |
| (...skipping 4934 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7337 } | 7355 } |
| 7338 }; | 7356 }; |
| 7339 | 7357 |
| 7340 | 7358 |
| 7341 } // NOLINT, false-positive due to second-order macros. | 7359 } // NOLINT, false-positive due to second-order macros. |
| 7342 } // NOLINT, false-positive due to second-order macros. | 7360 } // NOLINT, false-positive due to second-order macros. |
| 7343 | 7361 |
| 7344 #include "src/objects/object-macros-undef.h" | 7362 #include "src/objects/object-macros-undef.h" |
| 7345 | 7363 |
| 7346 #endif // V8_OBJECTS_H_ | 7364 #endif // V8_OBJECTS_H_ |
| OLD | NEW |