Loading...
Searching...
No Matches
Static Public Member Functions | Static Public Attributes | List of all members
v8::internal::Internals Class Reference

#include <v8-internal.h>

Static Public Member Functions

static void CheckInitializedImpl (v8::Isolate *isolate)
 
static void CheckInitialized (v8::Isolate *isolate)
 
static constexpr bool HasHeapObjectTag (Address value)
 
static constexpr int SmiValue (Address value)
 
static constexpr Address AddressToSmi (Address value)
 
static constexpr Address IntToSmi (int value)
 
template<typename T , typename std::enable_if_t< std::is_integral_v< T > > * = nullptr>
static constexpr Address IntegralToSmi (T value)
 
template<typename T , typename std::enable_if_t< std::is_integral_v< T > > * = nullptr>
static constexpr bool IsValidSmi (T value)
 
template<typename T , typename std::enable_if_t< std::is_integral_v< T > > * = nullptr>
static constexpr std::optional< AddressTryIntegralToSmi (T value)
 
static int GetInstanceType (Address obj)
 
static Address LoadMap (Address obj)
 
static int GetOddballKind (Address obj)
 
static bool IsExternalTwoByteString (int instance_type)
 
static constexpr bool CanHaveInternalField (int instance_type)
 
static uint8_t GetNodeFlag (Address *obj, int shift)
 
static void UpdateNodeFlag (Address *obj, bool value, int shift)
 
static uint8_t GetNodeState (Address *obj)
 
static void UpdateNodeState (Address *obj, uint8_t value)
 
static void SetEmbedderData (v8::Isolate *isolate, uint32_t slot, void *data)
 
static void * GetEmbedderData (const v8::Isolate *isolate, uint32_t slot)
 
static void IncrementLongTasksStatsCounter (v8::Isolate *isolate)
 
static AddressGetRootSlot (v8::Isolate *isolate, int index)
 
static Address GetRoot (v8::Isolate *isolate, int index)
 
template<typename T >
static T ReadRawField (Address heap_object_ptr, int offset)
 
static Address ReadTaggedPointerField (Address heap_object_ptr, int offset)
 
static Address ReadTaggedSignedField (Address heap_object_ptr, int offset)
 
static v8::IsolateGetIsolateForSandbox (Address obj)
 
template<ExternalPointerTag tag>
static Address ReadExternalPointerField (v8::Isolate *isolate, 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 kJSAPIObjectWithEmbedderSlotsHeaderSize
 
static const int kFixedArrayHeaderSize = 2 * kApiTaggedSize
 
static const int kEmbedderDataArrayHeaderSize = 2 * kApiTaggedSize
 
static const int kEmbedderDataSlotSize = kApiSystemPointerSize
 
static const int kEmbedderDataSlotExternalPointerOffset = 0
 
static const int kNativeContextEmbedderDataOffset = 6 * kApiTaggedSize
 
static const int kStringRepresentationAndEncodingMask = 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 kStackGuardSize = 8 * kApiSystemPointerSize
 
static const int kNumberOfBooleanFlags = 6
 
static const int kErrorMessageParamSize = 1
 
static const int kTablesAlignmentPaddingSize = 1
 
static const int kRegExpStaticResultOffsetsVectorSize = kApiSystemPointerSize
 
static const int kBuiltinTier0EntryTableSize = 7 * kApiSystemPointerSize
 
static const int kBuiltinTier0TableSize = 7 * kApiSystemPointerSize
 
static const int kLinearAllocationAreaSize = 3 * kApiSystemPointerSize
 
static const int kThreadLocalTopSize = 30 * kApiSystemPointerSize
 
static const int kHandleScopeDataSize
 
static const int kExternalPointerTableBasePointerOffset = 0
 
static const int kExternalPointerTableSize = 2 * kApiSystemPointerSize
 
static const int kTrustedPointerTableSize = 2 * kApiSystemPointerSize
 
static const int kTrustedPointerTableBasePointerOffset = 0
 
static const int kIsolateCageBaseOffset = 0
 
static const int kIsolateStackGuardOffset
 
static const int kVariousBooleanFlagsOffset
 
static const int kErrorMessageParamOffset
 
static const int kBuiltinTier0EntryTableOffset
 
static const int kBuiltinTier0TableOffset
 
static const int kNewAllocationInfoOffset
 
static const int kOldAllocationInfoOffset
 
static const int kFastCCallAlignmentPaddingSize
 
static const int kIsolateFastCCallCallerFpOffset
 
static const int kIsolateFastCCallCallerPcOffset
 
static const int kIsolateFastApiCallTargetOffset
 
static const int kIsolateLongTaskStatsCounterOffset
 
static const int kIsolateThreadLocalTopOffset
 
static const int kIsolateHandleScopeDataOffset
 
static const int kIsolateEmbedderDataOffset
 
static const int kIsolateApiCallbackThunkArgumentOffset
 
static const int kIsolateRegexpExecVectorArgumentOffset
 
static const int kContinuationPreservedEmbedderDataOffset
 
static const int kIsolateRootsOffset
 
static const int kDisallowGarbageCollectionAlign = alignof(uint32_t)
 
static const int kDisallowGarbageCollectionSize = sizeof(uint32_t)
 
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 = 0x3
 
static const int kNodeStateIsWeakValue = 2
 
static const int kFirstNonstringType = 0x80
 
static const int kOddballType = 0x83
 
static const int kForeignType = 0xcc
 
static const int kJSSpecialApiObjectType = 0x410
 
static const int kJSObjectType = 0x421
 
static const int kFirstJSApiObjectType = 0x422
 
static const int kLastJSApiObjectType = 0x80A
 
static const int kFirstEmbedderJSApiObjectType = 0
 
static const int kLastEmbedderJSApiObjectType
 
static const int kUndefinedOddballKind = 4
 
static const int kNullOddballKind = 3
 
static const int kDontThrow = 0
 
static const int kThrowOnError = 1
 
static const int kInferShouldThrowMode = 2
 
static constexpr size_t 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.

Member Function Documentation

◆ AddressToSmi()

static constexpr Address v8::internal::Internals::AddressToSmi ( Address  value)
inlinestaticconstexpr

◆ CanHaveInternalField()

static constexpr bool v8::internal::Internals::CanHaveInternalField ( int  instance_type)
inlinestaticconstexpr

◆ CheckInitialized()

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

◆ CheckInitializedImpl()

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

◆ GetEmbedderData()

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

◆ GetInstanceType()

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

◆ GetIsolateForSandbox()

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

◆ GetNodeFlag()

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

◆ GetNodeState()

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

◆ GetOddballKind()

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

◆ GetRoot()

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

◆ GetRootSlot()

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

◆ HasHeapObjectTag()

static constexpr bool v8::internal::Internals::HasHeapObjectTag ( Address  value)
inlinestaticconstexpr

◆ IncrementLongTasksStatsCounter()

static void v8::internal::Internals::IncrementLongTasksStatsCounter ( v8::Isolate isolate)
inlinestatic
Here is the caller graph for this function:

◆ IntegralToSmi()

template<typename T , typename std::enable_if_t< std::is_integral_v< T > > * = nullptr>
static constexpr Address v8::internal::Internals::IntegralToSmi ( value)
inlinestaticconstexpr

◆ IntToSmi()

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

◆ IsExternalTwoByteString()

static bool v8::internal::Internals::IsExternalTwoByteString ( int  instance_type)
inlinestatic
Here is the call graph for this function:

◆ IsValidSmi()

template<typename T , typename std::enable_if_t< std::is_integral_v< T > > * = nullptr>
static constexpr bool v8::internal::Internals::IsValidSmi ( value)
inlinestaticconstexpr

◆ LoadMap()

static Address v8::internal::Internals::LoadMap ( Address  obj)
inlinestatic
Here is the caller graph for this function:

◆ ReadExternalPointerField()

template<ExternalPointerTag tag>
static Address v8::internal::Internals::ReadExternalPointerField ( v8::Isolate isolate,
Address  heap_object_ptr,
int  offset 
)
inlinestatic

◆ ReadRawField()

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

◆ ReadTaggedPointerField()

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

◆ ReadTaggedSignedField()

static Address v8::internal::Internals::ReadTaggedSignedField ( Address  heap_object_ptr,
int  offset 
)
inlinestatic
Here is the caller graph for this function:

◆ SetEmbedderData()

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

◆ SmiValue()

static constexpr int v8::internal::Internals::SmiValue ( Address  value)
inlinestaticconstexpr
Here is the caller graph for this function:

◆ TryIntegralToSmi()

template<typename T , typename std::enable_if_t< std::is_integral_v< T > > * = nullptr>
static constexpr std::optional< Address > v8::internal::Internals::TryIntegralToSmi ( value)
inlinestaticconstexpr
Here is the caller graph for this function:

◆ UpdateNodeFlag()

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

◆ UpdateNodeState()

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

Member Data Documentation

◆ kBuiltinTier0EntryTableOffset

const int v8::internal::Internals::kBuiltinTier0EntryTableOffset
static
Initial value:
=
static const int kErrorMessageParamSize
Definition: v8-internal.h:835
static const int kErrorMessageParamOffset
Definition: v8-internal.h:857
static const int kTablesAlignmentPaddingSize
Definition: v8-internal.h:836
static const int kRegExpStaticResultOffsetsVectorSize
Definition: v8-internal.h:837

◆ kBuiltinTier0EntryTableSize

const int v8::internal::Internals::kBuiltinTier0EntryTableSize = 7 * kApiSystemPointerSize
static

◆ kBuiltinTier0TableOffset

const int v8::internal::Internals::kBuiltinTier0TableOffset
static
Initial value:
=
static const int kBuiltinTier0EntryTableOffset
Definition: v8-internal.h:859
static const int kBuiltinTier0EntryTableSize
Definition: v8-internal.h:838

◆ kBuiltinTier0TableSize

const int v8::internal::Internals::kBuiltinTier0TableSize = 7 * kApiSystemPointerSize
static

◆ kContinuationPreservedEmbedderDataOffset

const int v8::internal::Internals::kContinuationPreservedEmbedderDataOffset
static
Initial value:
=
static const int kIsolateRegexpExecVectorArgumentOffset
Definition: v8-internal.h:911
const int kApiSystemPointerSize
Definition: v8-internal.h:64

◆ kDisallowGarbageCollectionAlign

const int v8::internal::Internals::kDisallowGarbageCollectionAlign = alignof(uint32_t)
static

◆ kDisallowGarbageCollectionSize

const int v8::internal::Internals::kDisallowGarbageCollectionSize = sizeof(uint32_t)
static

◆ kDontThrow

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

◆ kEmbedderDataArrayHeaderSize

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

◆ kEmbedderDataSlotExternalPointerOffset

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

◆ kEmbedderDataSlotSize

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

◆ kEmptyStringRootIndex

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

◆ kErrorMessageParamOffset

const int v8::internal::Internals::kErrorMessageParamOffset
static
Initial value:
=
static const int kNumberOfBooleanFlags
Definition: v8-internal.h:834
static const int kVariousBooleanFlagsOffset
Definition: v8-internal.h:855

◆ kErrorMessageParamSize

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

◆ kExternalAllocationSoftLimit

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

◆ kExternalOneByteRepresentationTag

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

◆ kExternalPointerTableBasePointerOffset

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

◆ kExternalPointerTableSize

const int v8::internal::Internals::kExternalPointerTableSize = 2 * kApiSystemPointerSize
static

◆ kExternalTwoByteRepresentationTag

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

◆ kFalseValueRootIndex

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

◆ kFastCCallAlignmentPaddingSize

const int v8::internal::Internals::kFastCCallAlignmentPaddingSize
static

◆ kFirstEmbedderJSApiObjectType

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

◆ kFirstJSApiObjectType

const int v8::internal::Internals::kFirstJSApiObjectType = 0x422
static

◆ kFirstNonstringType

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

◆ kFixedArrayHeaderSize

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

◆ kForeignType

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

◆ kHandleScopeDataSize

const int v8::internal::Internals::kHandleScopeDataSize
static
Initial value:
=
const int kApiInt32Size
Definition: v8-internal.h:66

◆ kHeapObjectMapOffset

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

◆ kInferShouldThrowMode

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

◆ kIsolateApiCallbackThunkArgumentOffset

const int v8::internal::Internals::kIsolateApiCallbackThunkArgumentOffset
static
Initial value:
=
static const uint32_t kNumIsolateDataSlots
Definition: v8-internal.h:832
static const int kIsolateEmbedderDataOffset
Definition: v8-internal.h:885

◆ kIsolateCageBaseOffset

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

◆ kIsolateEmbedderDataOffset

const int v8::internal::Internals::kIsolateEmbedderDataOffset
static
Initial value:
=
static const int kIsolateHandleScopeDataOffset
Definition: v8-internal.h:883
static const int kHandleScopeDataSize
Definition: v8-internal.h:842

◆ kIsolateFastApiCallTargetOffset

const int v8::internal::Internals::kIsolateFastApiCallTargetOffset
static
Initial value:
=
static const int kIsolateFastCCallCallerPcOffset
Definition: v8-internal.h:875

◆ kIsolateFastCCallCallerFpOffset

const int v8::internal::Internals::kIsolateFastCCallCallerFpOffset
static
Initial value:
=
static const int kLinearAllocationAreaSize
Definition: v8-internal.h:840
static const int kFastCCallAlignmentPaddingSize
Definition: v8-internal.h:869
static const int kOldAllocationInfoOffset
Definition: v8-internal.h:866

◆ kIsolateFastCCallCallerPcOffset

const int v8::internal::Internals::kIsolateFastCCallCallerPcOffset
static
Initial value:
=
static const int kIsolateFastCCallCallerFpOffset
Definition: v8-internal.h:872

◆ kIsolateHandleScopeDataOffset

const int v8::internal::Internals::kIsolateHandleScopeDataOffset
static
Initial value:
=
static const int kIsolateThreadLocalTopOffset
Definition: v8-internal.h:881
static const int kThreadLocalTopSize
Definition: v8-internal.h:841

◆ kIsolateLongTaskStatsCounterOffset

const int v8::internal::Internals::kIsolateLongTaskStatsCounterOffset
static
Initial value:
=
static const int kIsolateFastApiCallTargetOffset
Definition: v8-internal.h:877

◆ kIsolateRegexpExecVectorArgumentOffset

const int v8::internal::Internals::kIsolateRegexpExecVectorArgumentOffset
static
Initial value:
=
static const int kIsolateApiCallbackThunkArgumentOffset
Definition: v8-internal.h:908

◆ kIsolateRootsOffset

const int v8::internal::Internals::kIsolateRootsOffset
static
Initial value:
=
static const int kContinuationPreservedEmbedderDataOffset
Definition: v8-internal.h:913

◆ kIsolateStackGuardOffset

const int v8::internal::Internals::kIsolateStackGuardOffset
static
Initial value:
=
static const int kIsolateCageBaseOffset
Definition: v8-internal.h:852

◆ kIsolateThreadLocalTopOffset

const int v8::internal::Internals::kIsolateThreadLocalTopOffset
static
Initial value:
=
static const int kIsolateLongTaskStatsCounterOffset
Definition: v8-internal.h:879
const int kApiSizetSize
Definition: v8-internal.h:68

◆ kJSAPIObjectWithEmbedderSlotsHeaderSize

const int v8::internal::Internals::kJSAPIObjectWithEmbedderSlotsHeaderSize
static
Initial value:
=
static const int kJSObjectHeaderSize
Definition: v8-internal.h:810
const int kApiTaggedSize
Definition: v8-internal.h:188

◆ kJSObjectHeaderSize

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

◆ kJSObjectType

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

◆ kJSSpecialApiObjectType

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

◆ kLastEmbedderJSApiObjectType

const int v8::internal::Internals::kLastEmbedderJSApiObjectType
static
Initial value:
=
static const int kLastJSApiObjectType
Definition: v8-internal.h:969
static const int kFirstJSApiObjectType
Definition: v8-internal.h:968

◆ kLastJSApiObjectType

const int v8::internal::Internals::kLastJSApiObjectType = 0x80A
static

◆ kLinearAllocationAreaSize

const int v8::internal::Internals::kLinearAllocationAreaSize = 3 * kApiSystemPointerSize
static

◆ kMapInstanceTypeOffset

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

◆ kNativeContextEmbedderDataOffset

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

◆ kNewAllocationInfoOffset

const int v8::internal::Internals::kNewAllocationInfoOffset
static
Initial value:
=
static const int kBuiltinTier0TableOffset
Definition: v8-internal.h:862
static const int kBuiltinTier0TableSize
Definition: v8-internal.h:839

◆ kNodeClassIdOffset

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

◆ kNodeFlagsOffset

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

◆ kNodeStateIsWeakValue

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

◆ kNodeStateMask

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

◆ kNullOddballKind

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

◆ kNullValueRootIndex

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

◆ kNumberOfBooleanFlags

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

◆ kNumIsolateDataSlots

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

◆ kOddballKindOffset

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

◆ kOddballType

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

◆ kOldAllocationInfoOffset

const int v8::internal::Internals::kOldAllocationInfoOffset
static
Initial value:
=
static const int kNewAllocationInfoOffset
Definition: v8-internal.h:864

◆ kRegExpStaticResultOffsetsVectorSize

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

◆ kStackGuardSize

const int v8::internal::Internals::kStackGuardSize = 8 * kApiSystemPointerSize
static

◆ kStringEncodingMask

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

◆ kStringRepresentationAndEncodingMask

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

◆ kStringResourceOffset

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

◆ kTablesAlignmentPaddingSize

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

◆ kTheHoleValueRootIndex

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

◆ kThreadLocalTopSize

const int v8::internal::Internals::kThreadLocalTopSize = 30 * kApiSystemPointerSize
static

◆ kThrowOnError

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

◆ kTrueValueRootIndex

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

◆ kTrustedPointerTableBasePointerOffset

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

◆ kTrustedPointerTableSize

const int v8::internal::Internals::kTrustedPointerTableSize = 2 * kApiSystemPointerSize
static

◆ kUndefinedOddballKind

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

◆ kUndefinedValueRootIndex

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

◆ kVariousBooleanFlagsOffset

const int v8::internal::Internals::kVariousBooleanFlagsOffset
static
Initial value:
=
static const int kIsolateStackGuardOffset
Definition: v8-internal.h:853
static const int kStackGuardSize
Definition: v8-internal.h:833

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