v8  6.1.534(node8.9.3)
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 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 kMapInstanceTypeAndBitFieldOffset
 
static const int kStringResourceOffset = 3 * kApiPointerSize
 
static const int kOddballKindOffset = 4 * kApiPointerSize + sizeof(double)
 
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 kJSApiObjectType = 0xbb
 
static const int kJSObjectType = 0xbc
 
static const int kFirstNonstringType = 0x80
 
static const int kOddballType = 0x82
 
static const int kForeignType = 0x86
 
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 8888 of file v8.h.

Member Function Documentation

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

Definition at line 8945 of file v8.h.

Referenced by String::Empty(), v8::False(), v8::Null(), v8::True(), and v8::Undefined().

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

Definition at line 9017 of file v8.h.

References v8::internal::kApiPointerSize, and Internals::kIsolateEmbedderDataOffset.

Referenced by Isolate::GetData().

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

Definition at line 8986 of file v8.h.

References Internals::kNodeFlagsOffset.

Referenced by PersistentBase< T >::IsIndependent().

static V8_INLINE uint8_t GetNodeState ( internal::Object **  obj)
inlinestatic
static V8_INLINE int GetOddballKind ( const internal::Object *  obj)
inlinestatic
static V8_INLINE bool HasHeapObjectTag ( const internal::Object *  value)
inlinestatic

Definition at line 8951 of file v8.h.

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

static V8_INLINE internal::Object* IntToSmi ( int  value)
inlinestatic
static V8_INLINE bool IsExternalTwoByteString ( int  instance_type)
inlinestatic
static V8_INLINE bool IsValidSmi ( intptr_t  value)
inlinestatic

Definition at line 8964 of file v8.h.

References SmiTagging< 8 >::IsValidSmi().

Referenced by ReturnValue< T >::Set().

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

Definition at line 9009 of file v8.h.

References v8::internal::kApiPointerSize, and Internals::kIsolateEmbedderDataOffset.

Referenced by Isolate::SetData().

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

Definition at line 8956 of file v8.h.

References SmiTagging< 8 >::SmiToInt().

Referenced by Internals::GetOddballKind().

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

Definition at line 9003 of file v8.h.

References Internals::kNodeFlagsOffset, and Internals::kNodeStateMask.

Field Documentation

const int kContextEmbedderDataIndex = 5
static

Definition at line 8902 of file v8.h.

Referenced by Internals::ReadEmbedderData().

const int kContextHeaderSize = 2 * kApiPointerSize
static

Definition at line 8901 of file v8.h.

Referenced by Internals::ReadEmbedderData().

const int kEmptyStringRootIndex = 9
static

Definition at line 8922 of file v8.h.

Referenced by String::Empty(), and ReturnValue< T >::SetEmptyString().

const int kExternalMemoryAtLastMarkCompactOffset
static
Initial value:

Definition at line 8912 of file v8.h.

Referenced by Isolate::AdjustAmountOfExternalAllocatedMemory().

const int kExternalMemoryLimitOffset
static
Initial value:

Definition at line 8910 of file v8.h.

Referenced by Isolate::AdjustAmountOfExternalAllocatedMemory().

const int kExternalMemoryOffset = 4 * kApiPointerSize
static

Definition at line 8909 of file v8.h.

Referenced by Isolate::AdjustAmountOfExternalAllocatedMemory().

const int kExternalOneByteRepresentationTag = 0x0a
static

Definition at line 8906 of file v8.h.

Referenced by String::GetExternalStringResourceBase().

const int kExternalTwoByteRepresentationTag = 0x02
static
const int kFalseValueRootIndex = 8
static

Definition at line 8921 of file v8.h.

Referenced by v8::False(), and ReturnValue< T >::Set().

const int kFirstNonstringType = 0x80
static

Definition at line 8935 of file v8.h.

const int kFixedArrayHeaderSize = 2 * kApiPointerSize
static

Definition at line 8900 of file v8.h.

Referenced by Internals::ReadEmbedderData().

const int kForeignAddressOffset = kApiPointerSize
static

Definition at line 8898 of file v8.h.

const int kForeignType = 0x86
static

Definition at line 8937 of file v8.h.

const int kFullStringRepresentationMask = 0x0f
static
const int kHeapObjectMapOffset = 0
static

Definition at line 8892 of file v8.h.

Referenced by Internals::GetInstanceType().

const int kIsolateEmbedderDataOffset = 0 * kApiPointerSize
static

Definition at line 8908 of file v8.h.

Referenced by Internals::GetEmbedderData(), and Internals::SetEmbedderData().

const int kIsolateRootsOffset
static
Initial value:

Definition at line 8914 of file v8.h.

Referenced by Internals::GetRoot().

const int kJSApiObjectType = 0xbb
static

Definition at line 8933 of file v8.h.

Referenced by Object::GetAlignedPointerFromInternalField(), and Object::GetInternalField().

const int kJSObjectHeaderSize = 3 * kApiPointerSize
static

Definition at line 8899 of file v8.h.

Referenced by Object::GetAlignedPointerFromInternalField(), and Object::GetInternalField().

const int kJSObjectType = 0xbc
static

Definition at line 8934 of file v8.h.

Referenced by Object::GetAlignedPointerFromInternalField(), and Object::GetInternalField().

const int kMapInstanceTypeAndBitFieldOffset
static
Initial value:

Definition at line 8893 of file v8.h.

Referenced by Internals::GetInstanceType().

const int kNodeClassIdOffset = 1 * kApiPointerSize
static
const int kNodeFlagsOffset = 1 * kApiPointerSize + 3
static
const int kNodeIsActiveShift = 4
static

Definition at line 8931 of file v8.h.

Referenced by PersistentBase< T >::MarkActive().

const int kNodeIsIndependentShift = 3
static
const int kNodeStateIsNearDeathValue = 4
static

Definition at line 8929 of file v8.h.

Referenced by PersistentBase< T >::IsNearDeath().

const int kNodeStateIsPendingValue = 3
static

Definition at line 8928 of file v8.h.

Referenced by PersistentBase< T >::IsNearDeath().

const int kNodeStateIsWeakValue = 2
static

Definition at line 8927 of file v8.h.

Referenced by PersistentBase< T >::IsWeak().

const int kNodeStateMask = 0x7
static

Definition at line 8926 of file v8.h.

Referenced by Internals::GetNodeState(), and Internals::UpdateNodeState().

const int kNullOddballKind = 3
static

Definition at line 8940 of file v8.h.

const int kNullValueRootIndex = 6
static

Definition at line 8919 of file v8.h.

Referenced by v8::Null(), and ReturnValue< T >::SetNull().

const uint32_t kNumIsolateDataSlots = 4
static

Definition at line 8942 of file v8.h.

Referenced by Isolate::GetNumberOfDataSlots().

const int kOddballKindOffset = 4 * kApiPointerSize + sizeof(double)
static

Definition at line 8897 of file v8.h.

Referenced by Internals::GetOddballKind().

const int kOddballType = 0x82
static

Definition at line 8936 of file v8.h.

const int kStringEncodingMask = 0x8
static

Definition at line 8904 of file v8.h.

Referenced by String::GetExternalStringResourceBase().

const int kStringResourceOffset = 3 * kApiPointerSize
static
const int kTheHoleValueRootIndex = 5
static

Definition at line 8918 of file v8.h.

Referenced by ReturnValue< T >::Get().

const int kTrueValueRootIndex = 7
static

Definition at line 8920 of file v8.h.

Referenced by ReturnValue< T >::Set(), and v8::True().

const int kUndefinedOddballKind = 5
static

Definition at line 8939 of file v8.h.

const int kUndefinedValueRootIndex = 4
static

Definition at line 8917 of file v8.h.

Referenced by ReturnValue< T >::SetUndefined(), and v8::Undefined().


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