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) |