v8  7.0.276(node11.14.0)
V8 is Google's open source JavaScript engine
Internals Class Reference

#include <v8.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::Object *value)
 
static V8_INLINE int SmiValue (const internal::Object *value)
 
static V8_INLINE internal::Object * IntToSmi (int value)
 
static V8_INLINE constexpr bool IsValidSmi (intptr_t value)
 
static V8_INLINE int GetInstanceType (const internal::Object *obj)
 
static V8_INLINE int GetOddballKind (const internal::Object *obj)
 
static V8_INLINE bool IsExternalTwoByteString (int instance_type)
 
static V8_INLINE uint8_t GetNodeFlag (internal::Object **obj, int shift)
 
static V8_INLINE void UpdateNodeFlag (internal::Object **obj, bool value, int shift)
 
static V8_INLINE uint8_t GetNodeState (internal::Object **obj)
 
static V8_INLINE void UpdateNodeState (internal::Object **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::Object ** GetRoot (v8::Isolate *isolate, int index)
 
template<typename T >
static V8_INLINEReadField (const internal::Object *ptr, int offset)
 
template<typename T >
static V8_INLINEReadEmbedderData (const v8::Context *context, int index)
 

Static Public Attributes

static const int kHeapObjectMapOffset = 0
 
static const int kMapInstanceTypeOffset = 1 * kApiPointerSize + kApiIntSize
 
static const int kStringResourceOffset = 3 * kApiPointerSize
 
static const int kOddballKindOffset = 4 * kApiPointerSize + kApiDoubleSize
 
static const int kForeignAddressOffset = kApiPointerSize
 
static const int kJSObjectHeaderSize = 3 * kApiPointerSize
 
static const int kFixedArrayHeaderSize = 2 * kApiPointerSize
 
static const int kContextHeaderSize = 2 * kApiPointerSize
 
static const int kContextEmbedderDataIndex = 5
 
static const int kFullStringRepresentationMask = 0x0f
 
static const int kStringEncodingMask = 0x8
 
static const int kExternalTwoByteRepresentationTag = 0x02
 
static const int kExternalOneByteRepresentationTag = 0x0a
 
static const int kIsolateEmbedderDataOffset = 0 * kApiPointerSize
 
static const int kExternalMemoryOffset = 4 * kApiPointerSize
 
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 * kApiPointerSize
 
static const int kNodeFlagsOffset = 1 * kApiPointerSize + 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 const uint32_t kNumIsolateDataSlots = 4
 

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 9357 of file v8.h.

Member Function Documentation

◆ CheckInitialized()

static V8_INLINE void CheckInitialized ( v8::Isolate *  isolate)
inlinestatic

Definition at line 9414 of file v8.h.

◆ CheckInitializedImpl()

static V8_EXPORT void CheckInitializedImpl ( v8::Isolate *  isolate)
static

◆ GetEmbedderData()

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

Definition at line 9484 of file v8.h.

References v8::internal::kApiPointerSize.

◆ GetInstanceType()

static V8_INLINE int GetInstanceType ( const internal::Object *  obj)
inlinestatic

Definition at line 9437 of file v8.h.

◆ GetNodeFlag()

static V8_INLINE uint8_t GetNodeFlag ( internal::Object **  obj,
int  shift 
)
inlinestatic

Definition at line 9453 of file v8.h.

◆ GetNodeState()

static V8_INLINE uint8_t GetNodeState ( internal::Object **  obj)
inlinestatic

Definition at line 9465 of file v8.h.

◆ GetOddballKind()

static V8_INLINE int GetOddballKind ( const internal::Object *  obj)
inlinestatic

Definition at line 9443 of file v8.h.

◆ GetRoot()

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

Definition at line 9491 of file v8.h.

References v8::internal::kApiPointerSize.

◆ HasHeapObjectTag()

static V8_INLINE bool HasHeapObjectTag ( const internal::Object *  value)
inlinestatic

Definition at line 9420 of file v8.h.

References v8::internal::kHeapObjectTag, and v8::internal::kHeapObjectTagMask.

◆ IntToSmi()

static V8_INLINE internal::Object* IntToSmi ( int  value)
inlinestatic

Definition at line 9429 of file v8.h.

References v8::internal::IntToSmi().

◆ IsExternalTwoByteString()

static V8_INLINE bool IsExternalTwoByteString ( int  instance_type)
inlinestatic

Definition at line 9448 of file v8.h.

◆ IsValidSmi()

static V8_INLINE constexpr bool IsValidSmi ( intptr_t  value)
inlinestatic

Definition at line 9433 of file v8.h.

◆ ReadEmbedderData()

static V8_INLINE T ReadEmbedderData ( const v8::Context *  context,
int  index 
)
inlinestatic

Definition at line 9505 of file v8.h.

References v8::internal::kApiPointerSize.

◆ ReadField()

static V8_INLINE T ReadField ( const internal::Object *  ptr,
int  offset 
)
inlinestatic

Definition at line 9498 of file v8.h.

References v8::internal::kHeapObjectTag.

◆ SetEmbedderData()

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

Definition at line 9476 of file v8.h.

References v8::data(), and v8::internal::kApiPointerSize.

◆ SmiValue()

static V8_INLINE int SmiValue ( const internal::Object *  value)
inlinestatic

Definition at line 9425 of file v8.h.

◆ UpdateNodeFlag()

static V8_INLINE void UpdateNodeFlag ( internal::Object **  obj,
bool  value,
int  shift 
)
inlinestatic

Definition at line 9458 of file v8.h.

◆ UpdateNodeState()

static V8_INLINE void UpdateNodeState ( internal::Object **  obj,
uint8_t  value 
)
inlinestatic

Definition at line 9470 of file v8.h.

Field Documentation

◆ kContextEmbedderDataIndex

const int kContextEmbedderDataIndex = 5
static

Definition at line 9370 of file v8.h.

◆ kContextHeaderSize

const int kContextHeaderSize = 2 * kApiPointerSize
static

Definition at line 9369 of file v8.h.

◆ kEmptyStringRootIndex

const int kEmptyStringRootIndex = 9
static

Definition at line 9390 of file v8.h.

◆ kExternalMemoryAtLastMarkCompactOffset

const int kExternalMemoryAtLastMarkCompactOffset
static
Initial value:

Definition at line 9380 of file v8.h.

◆ kExternalMemoryLimitOffset

const int kExternalMemoryLimitOffset
static
Initial value:

Definition at line 9378 of file v8.h.

◆ kExternalMemoryOffset

const int kExternalMemoryOffset = 4 * kApiPointerSize
static

Definition at line 9377 of file v8.h.

◆ kExternalOneByteRepresentationTag

const int kExternalOneByteRepresentationTag = 0x0a
static

Definition at line 9374 of file v8.h.

◆ kExternalTwoByteRepresentationTag

const int kExternalTwoByteRepresentationTag = 0x02
static

Definition at line 9373 of file v8.h.

◆ kFalseValueRootIndex

const int kFalseValueRootIndex = 8
static

Definition at line 9389 of file v8.h.

◆ kFirstNonstringType

const int kFirstNonstringType = 0x80
static

Definition at line 9401 of file v8.h.

◆ kFixedArrayHeaderSize

const int kFixedArrayHeaderSize = 2 * kApiPointerSize
static

Definition at line 9368 of file v8.h.

◆ kForeignAddressOffset

const int kForeignAddressOffset = kApiPointerSize
static

Definition at line 9366 of file v8.h.

◆ kForeignType

const int kForeignType = 0x87
static

Definition at line 9403 of file v8.h.

◆ kFullStringRepresentationMask

const int kFullStringRepresentationMask = 0x0f
static

Definition at line 9371 of file v8.h.

◆ kHeapObjectMapOffset

const int kHeapObjectMapOffset = 0
static

Definition at line 9361 of file v8.h.

◆ kIsolateEmbedderDataOffset

const int kIsolateEmbedderDataOffset = 0 * kApiPointerSize
static

Definition at line 9376 of file v8.h.

◆ kIsolateRootsOffset

const int kIsolateRootsOffset
static
Initial value:

Definition at line 9382 of file v8.h.

◆ kJSApiObjectType

const int kJSApiObjectType = 0x420
static

Definition at line 9405 of file v8.h.

◆ kJSObjectHeaderSize

const int kJSObjectHeaderSize = 3 * kApiPointerSize
static

Definition at line 9367 of file v8.h.

◆ kJSObjectType

const int kJSObjectType = 0x421
static

Definition at line 9406 of file v8.h.

◆ kJSSpecialApiObjectType

const int kJSSpecialApiObjectType = 0x410
static

Definition at line 9404 of file v8.h.

◆ kMapInstanceTypeOffset

const int kMapInstanceTypeOffset = 1 * kApiPointerSize + kApiIntSize
static

Definition at line 9362 of file v8.h.

◆ kNodeClassIdOffset

const int kNodeClassIdOffset = 1 * kApiPointerSize
static

Definition at line 9392 of file v8.h.

◆ kNodeFlagsOffset

const int kNodeFlagsOffset = 1 * kApiPointerSize + 3
static

Definition at line 9393 of file v8.h.

◆ kNodeIsActiveShift

const int kNodeIsActiveShift = 4
static

Definition at line 9399 of file v8.h.

◆ kNodeIsIndependentShift

const int kNodeIsIndependentShift = 3
static

Definition at line 9398 of file v8.h.

◆ kNodeStateIsNearDeathValue

const int kNodeStateIsNearDeathValue = 4
static

Definition at line 9397 of file v8.h.

◆ kNodeStateIsPendingValue

const int kNodeStateIsPendingValue = 3
static

Definition at line 9396 of file v8.h.

◆ kNodeStateIsWeakValue

const int kNodeStateIsWeakValue = 2
static

Definition at line 9395 of file v8.h.

◆ kNodeStateMask

const int kNodeStateMask = 0x7
static

Definition at line 9394 of file v8.h.

◆ kNullOddballKind

const int kNullOddballKind = 3
static

Definition at line 9409 of file v8.h.

◆ kNullValueRootIndex

const int kNullValueRootIndex = 6
static

Definition at line 9387 of file v8.h.

◆ kNumIsolateDataSlots

const uint32_t kNumIsolateDataSlots = 4
static

Definition at line 9411 of file v8.h.

◆ kOddballKindOffset

const int kOddballKindOffset = 4 * kApiPointerSize + kApiDoubleSize
static

Definition at line 9365 of file v8.h.

◆ kOddballType

const int kOddballType = 0x83
static

Definition at line 9402 of file v8.h.

◆ kStringEncodingMask

const int kStringEncodingMask = 0x8
static

Definition at line 9372 of file v8.h.

◆ kStringResourceOffset

const int kStringResourceOffset = 3 * kApiPointerSize
static

Definition at line 9363 of file v8.h.

◆ kTheHoleValueRootIndex

const int kTheHoleValueRootIndex = 5
static

Definition at line 9386 of file v8.h.

◆ kTrueValueRootIndex

const int kTrueValueRootIndex = 7
static

Definition at line 9388 of file v8.h.

◆ kUndefinedOddballKind

const int kUndefinedOddballKind = 5
static

Definition at line 9408 of file v8.h.

◆ kUndefinedValueRootIndex

const int kUndefinedValueRootIndex = 4
static

Definition at line 9385 of file v8.h.


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