V8  latest master commit
V8 is Google's open source JavaScript engine
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 constexpr V8_INLINE internal::Address IntToSmi (int value)
 
static constexpr V8_INLINE 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_INLINEReadRawField (internal::Address heap_object_ptr, int offset)
 
static V8_INLINE internal::Address ReadTaggedPointerField (internal::Address heap_object_ptr, int offset)
 
static V8_INLINE internal::Address ReadTaggedSignedField (internal::Address heap_object_ptr, int offset)
 
static V8_INLINE internal::Isolate * GetIsolateForHeapSandbox (internal::Address obj)
 
static V8_INLINE internal::Address ReadExternalPointerField (internal::Isolate *isolate, internal::Address heap_object_ptr, int offset)
 

Static Public Attributes

static const int kHeapObjectMapOffset = 0
 
static const int kMapInstanceTypeOffset = 1 * kApiTaggedSize + kApiInt32Size
 
static const int kStringResourceOffset
 
static const int kOddballKindOffset = 4 * kApiTaggedSize + kApiDoubleSize
 
static const int kJSObjectHeaderSize = 3 * kApiTaggedSize
 
static const int kFixedArrayHeaderSize = 2 * kApiTaggedSize
 
static const int kEmbedderDataArrayHeaderSize = 2 * kApiTaggedSize
 
static const int kEmbedderDataSlotSize = kApiSystemPointerSize
 
static const int kNativeContextEmbedderDataOffset = 6 * 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 kExternalMemoryLowSinceMarkCompactOffset
 
static const int kIsolateFastCCallCallerFpOffset
 
static const int kIsolateFastCCallCallerPcOffset
 
static const int kIsolateStackGuardOffset
 
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 * kApiSystemPointerSize
 
static const int kNodeFlagsOffset = 1 * kApiSystemPointerSize + 3
 
static const int kNodeStateMask = 0x7
 
static const int kNodeStateIsWeakValue = 2
 
static const int kNodeStateIsPendingValue = 3
 
static const int kFirstNonstringType = 0x40
 
static const int kOddballType = 0x43
 
static const int kForeignType = 0x46
 
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 const int kThrowOnError = 0
 
static const int kDontThrow = 1
 
static const int kInferShouldThrowMode = 2
 
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 157 of file v8-internal.h.

Member Function Documentation

◆ CheckInitialized()

static V8_INLINE void v8::internal::Internals::CheckInitialized ( v8::Isolate isolate)
inlinestatic

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

◆ CheckInitializedImpl()

static V8_EXPORT void v8::internal::Internals::CheckInitializedImpl ( v8::Isolate isolate)
static

◆ GetEmbedderData()

static V8_INLINE void* v8::internal::Internals::GetEmbedderData ( const v8::Isolate isolate,
uint32_t  slot 
)
inlinestatic

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

◆ GetInstanceType()

static V8_INLINE int v8::internal::Internals::GetInstanceType ( const internal::Address  obj)
inlinestatic

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

◆ GetIsolateForHeapSandbox()

static V8_INLINE internal::Isolate* v8::internal::Internals::GetIsolateForHeapSandbox ( internal::Address  obj)
inlinestatic

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

◆ GetNodeFlag()

static V8_INLINE uint8_t v8::internal::Internals::GetNodeFlag ( internal::Address obj,
int  shift 
)
inlinestatic

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

◆ GetNodeState()

static V8_INLINE uint8_t v8::internal::Internals::GetNodeState ( internal::Address obj)
inlinestatic

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

◆ GetOddballKind()

static V8_INLINE int v8::internal::Internals::GetOddballKind ( const internal::Address  obj)
inlinestatic

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

◆ GetRoot()

static V8_INLINE internal::Address* v8::internal::Internals::GetRoot ( v8::Isolate isolate,
int  index 
)
inlinestatic

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

◆ HasHeapObjectTag()

static V8_INLINE bool v8::internal::Internals::HasHeapObjectTag ( const internal::Address  value)
inlinestatic

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

◆ IntToSmi()

static constexpr V8_INLINE internal::Address v8::internal::Internals::IntToSmi ( int  value)
inlinestaticconstexpr

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

◆ IsExternalTwoByteString()

static V8_INLINE bool v8::internal::Internals::IsExternalTwoByteString ( int  instance_type)
inlinestatic

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

◆ IsValidSmi()

static constexpr V8_INLINE bool v8::internal::Internals::IsValidSmi ( intptr_t  value)
inlinestaticconstexpr

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

◆ ReadExternalPointerField()

static V8_INLINE internal::Address v8::internal::Internals::ReadExternalPointerField ( internal::Isolate *  isolate,
internal::Address  heap_object_ptr,
int  offset 
)
inlinestatic

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

◆ ReadRawField()

template<typename T >
static V8_INLINE T v8::internal::Internals::ReadRawField ( internal::Address  heap_object_ptr,
int  offset 
)
inlinestatic

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

◆ ReadTaggedPointerField()

static V8_INLINE internal::Address v8::internal::Internals::ReadTaggedPointerField ( internal::Address  heap_object_ptr,
int  offset 
)
inlinestatic

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

◆ ReadTaggedSignedField()

static V8_INLINE internal::Address v8::internal::Internals::ReadTaggedSignedField ( internal::Address  heap_object_ptr,
int  offset 
)
inlinestatic

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

◆ SetEmbedderData()

static V8_INLINE void v8::internal::Internals::SetEmbedderData ( v8::Isolate isolate,
uint32_t  slot,
void *  data 
)
inlinestatic

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

◆ SmiValue()

static V8_INLINE int v8::internal::Internals::SmiValue ( const internal::Address  value)
inlinestatic

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

◆ UpdateNodeFlag()

static V8_INLINE void v8::internal::Internals::UpdateNodeFlag ( internal::Address obj,
bool  value,
int  shift 
)
inlinestatic

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

◆ UpdateNodeState()

static V8_INLINE void v8::internal::Internals::UpdateNodeState ( internal::Address obj,
uint8_t  value 
)
inlinestatic

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

Field Documentation

◆ kDontThrow

const int v8::internal::Internals::kDontThrow = 1
static

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

◆ kEmbedderDataArrayHeaderSize

const int v8::internal::Internals::kEmbedderDataArrayHeaderSize = 2 * kApiTaggedSize
static

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

◆ kEmbedderDataSlotSize

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

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

◆ kEmptyStringRootIndex

const int v8::internal::Internals::kEmptyStringRootIndex = 9
static

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

◆ kExternalAllocationSoftLimit

constexpr int v8::internal::Internals::kExternalAllocationSoftLimit = 64 * 1024 * 1024
staticconstexpr

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

◆ kExternalMemoryLimitOffset

const int v8::internal::Internals::kExternalMemoryLimitOffset
static
Initial value:

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

◆ kExternalMemoryLowSinceMarkCompactOffset

const int v8::internal::Internals::kExternalMemoryLowSinceMarkCompactOffset
static
Initial value:

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

◆ kExternalMemoryOffset

const int v8::internal::Internals::kExternalMemoryOffset
static
Initial value:

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

◆ kExternalOneByteRepresentationTag

const int v8::internal::Internals::kExternalOneByteRepresentationTag = 0x0a
static

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

◆ kExternalTwoByteRepresentationTag

const int v8::internal::Internals::kExternalTwoByteRepresentationTag = 0x02
static

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

◆ kFalseValueRootIndex

const int v8::internal::Internals::kFalseValueRootIndex = 8
static

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

◆ kFirstNonstringType

const int v8::internal::Internals::kFirstNonstringType = 0x40
static

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

◆ kFixedArrayHeaderSize

const int v8::internal::Internals::kFixedArrayHeaderSize = 2 * kApiTaggedSize
static

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

◆ kForeignType

const int v8::internal::Internals::kForeignType = 0x46
static

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

◆ kFullStringRepresentationMask

const int v8::internal::Internals::kFullStringRepresentationMask = 0x0f
static

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

◆ kHeapObjectMapOffset

const int v8::internal::Internals::kHeapObjectMapOffset = 0
static

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

◆ kInferShouldThrowMode

const int v8::internal::Internals::kInferShouldThrowMode = 2
static

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

◆ kIsolateEmbedderDataOffset

const int v8::internal::Internals::kIsolateEmbedderDataOffset = 0
static

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

◆ kIsolateFastCCallCallerFpOffset

const int v8::internal::Internals::kIsolateFastCCallCallerFpOffset
static
Initial value:

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

◆ kIsolateFastCCallCallerPcOffset

const int v8::internal::Internals::kIsolateFastCCallCallerPcOffset
static
Initial value:

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

◆ kIsolateRootsOffset

const int v8::internal::Internals::kIsolateRootsOffset
static
Initial value:

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

◆ kIsolateStackGuardOffset

const int v8::internal::Internals::kIsolateStackGuardOffset
static
Initial value:

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

◆ kJSApiObjectType

const int v8::internal::Internals::kJSApiObjectType = 0x420
static

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

◆ kJSObjectHeaderSize

const int v8::internal::Internals::kJSObjectHeaderSize = 3 * kApiTaggedSize
static

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

◆ kJSObjectType

const int v8::internal::Internals::kJSObjectType = 0x421
static

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

◆ kJSSpecialApiObjectType

const int v8::internal::Internals::kJSSpecialApiObjectType = 0x410
static

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

◆ kMapInstanceTypeOffset

const int v8::internal::Internals::kMapInstanceTypeOffset = 1 * kApiTaggedSize + kApiInt32Size
static

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

◆ kNativeContextEmbedderDataOffset

const int v8::internal::Internals::kNativeContextEmbedderDataOffset = 6 * kApiTaggedSize
static

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

◆ kNodeClassIdOffset

const int v8::internal::Internals::kNodeClassIdOffset = 1 * kApiSystemPointerSize
static

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

◆ kNodeFlagsOffset

const int v8::internal::Internals::kNodeFlagsOffset = 1 * kApiSystemPointerSize + 3
static

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

◆ kNodeStateIsPendingValue

const int v8::internal::Internals::kNodeStateIsPendingValue = 3
static

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

◆ kNodeStateIsWeakValue

const int v8::internal::Internals::kNodeStateIsWeakValue = 2
static

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

◆ kNodeStateMask

const int v8::internal::Internals::kNodeStateMask = 0x7
static

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

◆ kNullOddballKind

const int v8::internal::Internals::kNullOddballKind = 3
static

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

◆ kNullValueRootIndex

const int v8::internal::Internals::kNullValueRootIndex = 6
static

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

◆ kNumIsolateDataSlots

const uint32_t v8::internal::Internals::kNumIsolateDataSlots = 4
static

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

◆ kOddballKindOffset

const int v8::internal::Internals::kOddballKindOffset = 4 * kApiTaggedSize + kApiDoubleSize
static

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

◆ kOddballType

const int v8::internal::Internals::kOddballType = 0x43
static

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

◆ kStringEncodingMask

const int v8::internal::Internals::kStringEncodingMask = 0x8
static

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

◆ kStringResourceOffset

const int v8::internal::Internals::kStringResourceOffset
static
Initial value:

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

◆ kTheHoleValueRootIndex

const int v8::internal::Internals::kTheHoleValueRootIndex = 5
static

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

◆ kThrowOnError

const int v8::internal::Internals::kThrowOnError = 0
static

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

◆ kTrueValueRootIndex

const int v8::internal::Internals::kTrueValueRootIndex = 7
static

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

◆ kUndefinedOddballKind

const int v8::internal::Internals::kUndefinedOddballKind = 5
static

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

◆ kUndefinedValueRootIndex

const int v8::internal::Internals::kUndefinedValueRootIndex = 4
static

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


The documentation for this class was generated from the following file:
v8::internal::Internals::kExternalMemoryOffset
static const int kExternalMemoryOffset
Definition: v8-internal.h:181
v8::internal::Internals::kNumIsolateDataSlots
static const uint32_t kNumIsolateDataSlots
Definition: v8-internal.h:177
v8::internal::kApiTaggedSize
const int kApiTaggedSize
Definition: v8-internal.h:106
v8::internal::kApiInt64Size
const int kApiInt64Size
Definition: v8-internal.h:35
v8::internal::kApiInt32Size
const int kApiInt32Size
Definition: v8-internal.h:34
v8::internal::Internals::kIsolateFastCCallCallerPcOffset
static const int kIsolateFastCCallCallerPcOffset
Definition: v8-internal.h:189
v8::internal::Internals::kIsolateStackGuardOffset
static const int kIsolateStackGuardOffset
Definition: v8-internal.h:191
v8::internal::Internals::kExternalMemoryLimitOffset
static const int kExternalMemoryLimitOffset
Definition: v8-internal.h:183
v8::internal::kApiSystemPointerSize
const int kApiSystemPointerSize
Definition: v8-internal.h:32
v8::internal::Internals::kIsolateFastCCallCallerFpOffset
static const int kIsolateFastCCallCallerFpOffset
Definition: v8-internal.h:187
v8::internal::Internals::kExternalMemoryLowSinceMarkCompactOffset
static const int kExternalMemoryLowSinceMarkCompactOffset
Definition: v8-internal.h:185