V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::Internals Class Reference

#include <v8-internal.h>

Static Public Member Functions

static V8_EXPORT void CheckInitializedImpl (v8::Isolate *isolate)
 
static V8_INLINE void CheckInitialized (v8::Isolate *isolate)
 
static V8_INLINE bool HasHeapObjectTag (const internal::Address value)
 
static V8_INLINE int SmiValue (const internal::Address value)
 
static V8_INLINE constexpr internal::Address IntToSmi (int value)
 
static V8_INLINE constexpr bool IsValidSmi (intptr_t value)
 
static V8_INLINE int GetInstanceType (const internal::Address obj)
 
static V8_INLINE int GetOddballKind (const internal::Address obj)
 
static V8_INLINE bool IsExternalTwoByteString (int instance_type)
 
static V8_INLINE uint8_t GetNodeFlag (internal::Address *obj, int shift)
 
static V8_INLINE void UpdateNodeFlag (internal::Address *obj, bool value, int shift)
 
static V8_INLINE uint8_t GetNodeState (internal::Address *obj)
 
static V8_INLINE void UpdateNodeState (internal::Address *obj, uint8_t value)
 
static V8_INLINE void SetEmbedderData (v8::Isolate *isolate, uint32_t slot, void *data)
 
static V8_INLINE void * GetEmbedderData (const v8::Isolate *isolate, uint32_t slot)
 
static V8_INLINE internal::AddressGetRoot (v8::Isolate *isolate, int index)
 
template<typename T >
static V8_INLINE T ReadField (const internal::Address heap_object_ptr, int offset)
 
template<typename T >
static V8_INLINE T ReadEmbedderData (const v8::Context *context, int index)
 

Static Public Attributes

static const int kHeapObjectMapOffset = 0
 
static const int kMapInstanceTypeOffset = 1 * kApiTaggedSize + kApiIntSize
 
static const int kStringResourceOffset = 1 * kApiTaggedSize + 2 * kApiIntSize
 
static const int kOddballKindOffset = 4 * kApiTaggedSize + kApiDoubleSize
 
static const int kForeignAddressOffset = kApiTaggedSize
 
static const int kJSObjectHeaderSize = 3 * kApiTaggedSize
 
static const int kFixedArrayHeaderSize = 2 * kApiTaggedSize
 
static const int kEmbedderDataArrayHeaderSize = 2 * kApiTaggedSize
 
static const int kEmbedderDataSlotSize
 
static const int kNativeContextEmbedderDataOffset = 7 * kApiTaggedSize
 
static const int kFullStringRepresentationMask = 0x0f
 
static const int kStringEncodingMask = 0x8
 
static const int kExternalTwoByteRepresentationTag = 0x02
 
static const int kExternalOneByteRepresentationTag = 0x0a
 
static const uint32_t kNumIsolateDataSlots = 4
 
static const int kIsolateEmbedderDataOffset = 0
 
static const int kExternalMemoryOffset
 
static const int kExternalMemoryLimitOffset
 
static const int kExternalMemoryAtLastMarkCompactOffset
 
static const int kIsolateRootsOffset
 
static const int kUndefinedValueRootIndex = 4
 
static const int kTheHoleValueRootIndex = 5
 
static const int kNullValueRootIndex = 6
 
static const int kTrueValueRootIndex = 7
 
static const int kFalseValueRootIndex = 8
 
static const int kEmptyStringRootIndex = 9
 
static const int kNodeClassIdOffset = 1 * kApiTaggedSize
 
static const int kNodeFlagsOffset = 1 * kApiTaggedSize + 3
 
static const int kNodeStateMask = 0x7
 
static const int kNodeStateIsWeakValue = 2
 
static const int kNodeStateIsPendingValue = 3
 
static const int kNodeStateIsNearDeathValue = 4
 
static const int kNodeIsIndependentShift = 3
 
static const int kNodeIsActiveShift = 4
 
static const int kFirstNonstringType = 0x80
 
static const int kOddballType = 0x83
 
static const int kForeignType = 0x87
 
static const int kJSSpecialApiObjectType = 0x410
 
static const int kJSApiObjectType = 0x420
 
static const int kJSObjectType = 0x421
 
static const int kUndefinedOddballKind = 5
 
static const int kNullOddballKind = 3
 
static constexpr int kExternalAllocationSoftLimit = 64 * 1024 * 1024
 

Detailed Description

This class exports constants and functionality from within v8 that is necessary to implement inline functions in the v8 api. Don't depend on functions and constants defined here.

Definition at line 115 of file v8-internal.h.

Member Data Documentation

◆ kEmbedderDataSlotSize

const int v8::internal::Internals::kEmbedderDataSlotSize
static
Initial value:
=
kApiSystemPointerSize

Definition at line 128 of file v8-internal.h.

◆ kExternalMemoryAtLastMarkCompactOffset

const int v8::internal::Internals::kExternalMemoryAtLastMarkCompactOffset
static
Initial value:
=
kExternalMemoryLimitOffset + kApiInt64Size

Definition at line 146 of file v8-internal.h.

◆ kExternalMemoryLimitOffset

const int v8::internal::Internals::kExternalMemoryLimitOffset
static
Initial value:
=
kExternalMemoryOffset + kApiInt64Size

Definition at line 144 of file v8-internal.h.

◆ kExternalMemoryOffset

const int v8::internal::Internals::kExternalMemoryOffset
static
Initial value:
=
kNumIsolateDataSlots * kApiTaggedSize

Definition at line 142 of file v8-internal.h.

◆ kIsolateRootsOffset

const int v8::internal::Internals::kIsolateRootsOffset
static
Initial value:
=
kExternalMemoryAtLastMarkCompactOffset + kApiInt64Size

Definition at line 148 of file v8-internal.h.


The documentation for this class was generated from the following file: