v8
9.0.257(node16.0.0)
V8 is Google's open source JavaScript engine
|
Namespaces | |
wasm | |
Data Structures | |
class | Arguments |
class | BackingStoreBase |
struct | CastCheck |
class | CFunctionInfoImpl |
struct | count |
struct | count< T, T, Args... > |
struct | count< T, U, Args... > |
class | CustomArguments |
struct | GetCType |
struct | GetCType< FastApiCallbackOptions & > |
class | Internals |
struct | SmiTagging |
struct | SmiTagging< 4 > |
struct | SmiTagging< 8 > |
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) |
typedef uintptr_t Address |
Definition at line 24 of file v8-internal.h.
using ExternalPointer_t = Address |
Definition at line 121 of file v8-internal.h.
using PlatformSmiTagging = SmiTagging<kApiTaggedSize> |
Definition at line 143 of file v8-internal.h.
enum ExternalPointerTag : Address |
Definition at line 126 of file v8-internal.h.
V8_EXPORT Address v8::internal::DecodeExternalPointerImpl | ( | const Isolate * | isolate, |
ExternalPointer_t | pointer, | ||
ExternalPointerTag | tag | ||
) |
|
constexpr |
Definition at line 113 of file v8-internal.h.
Referenced by V8::Initialize().
Referenced by Context::GetEmbedderData(), and Object::GetInternalField().
V8_INLINE void v8::internal::PerformCastCheck | ( | T * | data | ) |
Definition at line 450 of file v8-internal.h.
|
constexpr |
Definition at line 109 of file v8-internal.h.
References kApiSystemPointerSize, and kApiTaggedSize.
Referenced by V8::Initialize().
V8_EXPORT bool v8::internal::ShouldThrowOnError | ( | v8::internal::Isolate * | isolate | ) |
Referenced by PropertyCallbackInfo< Value >::ShouldThrowOnError().
|
constexpr |
Definition at line 152 of file v8-internal.h.
References kSmiValueSize.
Referenced by V8::Initialize().
|
constexpr |
Definition at line 153 of file v8-internal.h.
References kSmiValueSize.
const int kApiDoubleSize = sizeof(double) |
Definition at line 33 of file v8-internal.h.
const int kApiInt32Size = sizeof(int32_t) |
Definition at line 34 of file v8-internal.h.
const int kApiInt64Size = sizeof(int64_t) |
Definition at line 35 of file v8-internal.h.
const int kApiSystemPointerSize = sizeof(void*) |
Configuration of tagging scheme.
Definition at line 32 of file v8-internal.h.
Referenced by Internals::GetEmbedderData(), Internals::GetRoot(), PointerCompressionIsEnabled(), and Internals::SetEmbedderData().
const int kApiTaggedSize = kApiSystemPointerSize |
Definition at line 106 of file v8-internal.h.
Referenced by PointerCompressionIsEnabled().
const int kHeapObjectTag = 1 |
Definition at line 38 of file v8-internal.h.
Referenced by Internals::HasHeapObjectTag(), and Internals::ReadRawField().
const intptr_t kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1 |
Definition at line 41 of file v8-internal.h.
Referenced by Internals::HasHeapObjectTag().
const int kHeapObjectTagSize = 2 |
Definition at line 40 of file v8-internal.h.
|
constexpr |
Definition at line 51 of file v8-internal.h.
const int kSmiMaxValue = static_cast<int>(PlatformSmiTagging::kSmiMaxValue) |
Definition at line 151 of file v8-internal.h.
const int kSmiMinValue = static_cast<int>(PlatformSmiTagging::kSmiMinValue) |
Definition at line 150 of file v8-internal.h.
const int kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize |
Definition at line 148 of file v8-internal.h.
const int kSmiTag = 0 |
Definition at line 44 of file v8-internal.h.
const intptr_t kSmiTagMask = (1 << kSmiTagSize) - 1 |
Definition at line 46 of file v8-internal.h.
const int kSmiTagSize = 1 |
Definition at line 45 of file v8-internal.h.
Referenced by SmiTagging< 4 >::SmiToInt(), and SmiTagging< 8 >::SmiToInt().
const int kSmiValueSize = PlatformSmiTagging::kSmiValueSize |
Definition at line 149 of file v8-internal.h.
Referenced by SmiValuesAre31Bits(), and SmiValuesAre32Bits().
|
constexpr |
Definition at line 52 of file v8-internal.h.
const int kWeakHeapObjectTag = 3 |
Definition at line 39 of file v8-internal.h.