|  | v8
    9.0.257(node16.0.0)
    V8 is Google's open source JavaScript engine | 
#include <stddef.h>#include <stdint.h>#include <string.h>#include <type_traits>#include "v8-version.h"#include "v8config.h"

Go to the source code of this file.
| Data Structures | |
| struct | SmiTagging< tagged_ptr_size > | 
| struct | SmiTagging< 4 > | 
| struct | SmiTagging< 8 > | 
| class | Internals | 
| struct | CastCheck< PerformCheck > | 
| class | BackingStoreBase | 
| Namespaces | |
| v8 | |
| v8::internal | |
| Typedefs | |
| typedef uintptr_t | Address | 
| using | ExternalPointer_t = Address | 
| using | PlatformSmiTagging = SmiTagging< kApiTaggedSize > | 
| Enumerations | |
| enum | ExternalPointerTag : Address { kExternalPointerNullTag = static_cast<Address>(0ULL), kArrayBufferBackingStoreTag = static_cast<Address>(1ULL << 48), kTypedArrayExternalPointerTag = static_cast<Address>(2ULL << 48), kDataViewDataPointerTag = static_cast<Address>(3ULL << 48), kExternalStringResourceTag = static_cast<Address>(4ULL << 48), kExternalStringResourceDataTag = static_cast<Address>(5ULL << 48), kForeignForeignAddressTag = static_cast<Address>(6ULL << 48), kNativeContextMicrotaskQueueTag = static_cast<Address>(7ULL << 48), kEmbedderDataSlotPayloadTag = static_cast<Address>(0ULL << 48) } | 
| Functions | |
| constexpr bool | PointerCompressionIsEnabled () | 
| constexpr bool | HeapSandboxIsEnabled () | 
| constexpr bool | SmiValuesAre31Bits () | 
| constexpr bool | SmiValuesAre32Bits () | 
| V8_EXPORT Address | DecodeExternalPointerImpl (const Isolate *isolate, ExternalPointer_t pointer, ExternalPointerTag tag) | 
| V8_EXPORT internal::Isolate * | IsolateFromNeverReadOnlySpaceObject (Address obj) | 
| V8_EXPORT bool | ShouldThrowOnError (v8::internal::Isolate *isolate) | 
| template<class T > | |
| V8_INLINE void | PerformCastCheck (T *data) | 
| Variables | |
| const int | kApiSystemPointerSize = sizeof(void*) | 
| const int | kApiDoubleSize = sizeof(double) | 
| const int | kApiInt32Size = sizeof(int32_t) | 
| const int | kApiInt64Size = sizeof(int64_t) | 
| const int | kHeapObjectTag = 1 | 
| const int | kWeakHeapObjectTag = 3 | 
| const int | kHeapObjectTagSize = 2 | 
| const intptr_t | kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1 | 
| const int | kSmiTag = 0 | 
| const int | kSmiTagSize = 1 | 
| const intptr_t | kSmiTagMask = (1 << kSmiTagSize) - 1 | 
| constexpr intptr_t | kIntptrAllBitsSet = intptr_t{-1} | 
| constexpr uintptr_t | kUintptrAllBitsSet | 
| const int | kApiTaggedSize = kApiSystemPointerSize | 
| const int | kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize | 
| const int | kSmiValueSize = PlatformSmiTagging::kSmiValueSize | 
| const int | kSmiMinValue = static_cast<int>(PlatformSmiTagging::kSmiMinValue) | 
| const int | kSmiMaxValue = static_cast<int>(PlatformSmiTagging::kSmiMaxValue) |