v8  3.11.10 (node 0.8.28)
V8 is Google's open source JavaScript engine
Internals Class Reference

#include <v8.h>

Static Public Member Functions

static bool HasHeapObjectTag (internal::Object *value)
 
static bool HasSmiTag (internal::Object *value)
 
static int SmiValue (internal::Object *value)
 
static int GetInstanceType (internal::Object *obj)
 
static int GetOddballKind (internal::Object *obj)
 
static void * GetExternalPointerFromSmi (internal::Object *value)
 
static void * GetExternalPointer (internal::Object *obj)
 
static bool IsExternalTwoByteString (int instance_type)
 
static bool IsInitialized (v8::Isolate *isolate)
 
static void SetEmbedderData (v8::Isolate *isolate, void *data)
 
static void * GetEmbedderData (v8::Isolate *isolate)
 
static internal::Object ** GetRoot (v8::Isolate *isolate, int index)
 
template<typename T >
static T ReadField (Object *ptr, int offset)
 
static bool CanCastToHeapObject (void *o)
 
static bool CanCastToHeapObject (Context *o)
 
static bool CanCastToHeapObject (String *o)
 
static bool CanCastToHeapObject (Object *o)
 
static bool CanCastToHeapObject (Message *o)
 
static bool CanCastToHeapObject (StackTrace *o)
 
static bool CanCastToHeapObject (StackFrame *o)
 

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 = 3 * kApiPointerSize
 
static const int kForeignAddressOffset = kApiPointerSize
 
static const int kJSObjectHeaderSize = 3 * kApiPointerSize
 
static const int kFullStringRepresentationMask = 0x07
 
static const int kExternalTwoByteRepresentationTag = 0x02
 
static const int kIsolateStateOffset = 0
 
static const int kIsolateEmbedderDataOffset = 1 * kApiPointerSize
 
static const int kIsolateRootsOffset = 3 * kApiPointerSize
 
static const int kUndefinedValueRootIndex = 5
 
static const int kNullValueRootIndex = 7
 
static const int kTrueValueRootIndex = 8
 
static const int kFalseValueRootIndex = 9
 
static const int kEmptySymbolRootIndex = 128
 
static const int kJSObjectType = 0xaa
 
static const int kFirstNonstringType = 0x80
 
static const int kOddballType = 0x82
 
static const int kForeignType = 0x85
 
static const int kUndefinedOddballKind = 5
 
static const int kNullOddballKind = 3
 

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

Member Function Documentation

◆ CanCastToHeapObject() [1/7]

static bool CanCastToHeapObject ( Context o)
inlinestatic

Definition at line 4014 of file v8.h.

◆ CanCastToHeapObject() [2/7]

static bool CanCastToHeapObject ( Message o)
inlinestatic

Definition at line 4017 of file v8.h.

◆ CanCastToHeapObject() [3/7]

static bool CanCastToHeapObject ( Object o)
inlinestatic

Definition at line 4016 of file v8.h.

◆ CanCastToHeapObject() [4/7]

static bool CanCastToHeapObject ( StackFrame o)
inlinestatic

Definition at line 4019 of file v8.h.

◆ CanCastToHeapObject() [5/7]

static bool CanCastToHeapObject ( StackTrace o)
inlinestatic

Definition at line 4018 of file v8.h.

◆ CanCastToHeapObject() [6/7]

static bool CanCastToHeapObject ( String o)
inlinestatic

Definition at line 4015 of file v8.h.

◆ CanCastToHeapObject() [7/7]

static bool CanCastToHeapObject ( void *  o)
inlinestatic

Definition at line 4013 of file v8.h.

◆ GetEmbedderData()

static void* GetEmbedderData ( v8::Isolate isolate)
inlinestatic

Definition at line 3996 of file v8.h.

References Internals::kIsolateEmbedderDataOffset.

Referenced by Isolate::GetData().

◆ GetExternalPointer()

static void* GetExternalPointer ( internal::Object *  obj)
inlinestatic

◆ GetExternalPointerFromSmi()

static void* GetExternalPointerFromSmi ( internal::Object *  value)
inlinestatic

Definition at line 3965 of file v8.h.

References v8::internal::kPointerToSmiShift.

Referenced by Internals::GetExternalPointer().

◆ GetInstanceType()

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

◆ GetOddballKind()

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

◆ GetRoot()

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

◆ HasHeapObjectTag()

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

Definition at line 3941 of file v8.h.

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

◆ HasSmiTag()

static bool HasSmiTag ( internal::Object *  value)
inlinestatic

Definition at line 3946 of file v8.h.

References v8::internal::kSmiTag, and v8::internal::kSmiTagMask.

Referenced by Internals::GetExternalPointer().

◆ IsExternalTwoByteString()

static bool IsExternalTwoByteString ( int  instance_type)
inlinestatic

◆ IsInitialized()

static bool IsInitialized ( v8::Isolate isolate)
inlinestatic

Definition at line 3985 of file v8.h.

References Internals::kIsolateStateOffset.

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

◆ ReadField()

◆ SetEmbedderData()

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

Definition at line 3990 of file v8.h.

References Internals::kIsolateEmbedderDataOffset.

Referenced by Isolate::SetData().

◆ SmiValue()

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

Definition at line 3950 of file v8.h.

References SmiTagging< 8 >::SmiToInt().

Referenced by Internals::GetOddballKind().

Field Documentation

◆ kEmptySymbolRootIndex

const int kEmptySymbolRootIndex = 128
static

Definition at line 3931 of file v8.h.

Referenced by String::Empty().

◆ kExternalTwoByteRepresentationTag

const int kExternalTwoByteRepresentationTag = 0x02
static

Definition at line 3922 of file v8.h.

Referenced by Internals::IsExternalTwoByteString().

◆ kFalseValueRootIndex

const int kFalseValueRootIndex = 9
static

Definition at line 3930 of file v8.h.

Referenced by v8::False().

◆ kFirstNonstringType

const int kFirstNonstringType = 0x80
static

Definition at line 3934 of file v8.h.

◆ kForeignAddressOffset

const int kForeignAddressOffset = kApiPointerSize
static

Definition at line 3919 of file v8.h.

Referenced by Internals::GetExternalPointer().

◆ kForeignType

const int kForeignType = 0x85
static

Definition at line 3936 of file v8.h.

Referenced by Internals::GetExternalPointer().

◆ kFullStringRepresentationMask

const int kFullStringRepresentationMask = 0x07
static

Definition at line 3921 of file v8.h.

Referenced by Internals::IsExternalTwoByteString().

◆ kHeapObjectMapOffset

const int kHeapObjectMapOffset = 0
static

Definition at line 3914 of file v8.h.

Referenced by Internals::GetInstanceType().

◆ kIsolateEmbedderDataOffset

const int kIsolateEmbedderDataOffset = 1 * kApiPointerSize
static

Definition at line 3925 of file v8.h.

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

◆ kIsolateRootsOffset

const int kIsolateRootsOffset = 3 * kApiPointerSize
static

Definition at line 3926 of file v8.h.

Referenced by Internals::GetRoot().

◆ kIsolateStateOffset

const int kIsolateStateOffset = 0
static

Definition at line 3924 of file v8.h.

Referenced by Internals::IsInitialized().

◆ kJSObjectHeaderSize

const int kJSObjectHeaderSize = 3 * kApiPointerSize
static

Definition at line 3920 of file v8.h.

Referenced by Object::GetPointerFromInternalField().

◆ kJSObjectType

const int kJSObjectType = 0xaa
static

Definition at line 3933 of file v8.h.

Referenced by Object::GetPointerFromInternalField().

◆ kMapInstanceTypeOffset

const int kMapInstanceTypeOffset = 1 * kApiPointerSize + kApiIntSize
static

Definition at line 3915 of file v8.h.

Referenced by Internals::GetInstanceType().

◆ kNullOddballKind

const int kNullOddballKind = 3
static

Definition at line 3939 of file v8.h.

◆ kNullValueRootIndex

const int kNullValueRootIndex = 7
static

Definition at line 3928 of file v8.h.

Referenced by v8::Null().

◆ kOddballKindOffset

const int kOddballKindOffset = 3 * kApiPointerSize
static

Definition at line 3918 of file v8.h.

Referenced by Internals::GetOddballKind().

◆ kOddballType

const int kOddballType = 0x82
static

Definition at line 3935 of file v8.h.

◆ kStringResourceOffset

const int kStringResourceOffset = 3 * kApiPointerSize
static

Definition at line 3916 of file v8.h.

Referenced by String::GetExternalStringResource().

◆ kTrueValueRootIndex

const int kTrueValueRootIndex = 8
static

Definition at line 3929 of file v8.h.

Referenced by v8::True().

◆ kUndefinedOddballKind

const int kUndefinedOddballKind = 5
static

Definition at line 3938 of file v8.h.

◆ kUndefinedValueRootIndex

const int kUndefinedValueRootIndex = 5
static

Definition at line 3927 of file v8.h.

Referenced by v8::Undefined().


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