v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 (internal::Object *value)
 
static V8_INLINE int SmiValue (internal::Object *value)
 
static V8_INLINE internal::ObjectIntToSmi (int value)
 
static V8_INLINE bool IsValidSmi (intptr_t value)
 
static V8_INLINE int GetInstanceType (internal::Object *obj)
 
static V8_INLINE int GetOddballKind (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 (v8::Isolate *isolate, uint32_t slot)
 
static V8_INLINE
internal::Object ** 
GetRoot (v8::Isolate *isolate, int index)
 
template<typename T >
static V8_INLINE T ReadField (Object *ptr, int offset)
 
template<typename T >
static V8_INLINE T ReadEmbedderData (Context *context, int index)
 
static V8_INLINE bool CanCastToHeapObject (void *o)
 
static V8_INLINE bool CanCastToHeapObject (Context *o)
 
static V8_INLINE bool CanCastToHeapObject (String *o)
 
static V8_INLINE bool CanCastToHeapObject (Object *o)
 
static V8_INLINE bool CanCastToHeapObject (Message *o)
 
static V8_INLINE bool CanCastToHeapObject (StackTrace *o)
 
static V8_INLINE 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 kFixedArrayHeaderSize = 2 * kApiPointerSize
 
static const int kContextHeaderSize = 2 * kApiPointerSize
 
static const int kContextEmbedderDataIndex = 65
 
static const int kFullStringRepresentationMask = 0x07
 
static const int kStringEncodingMask = 0x4
 
static const int kExternalTwoByteRepresentationTag = 0x02
 
static const int kExternalAsciiRepresentationTag = 0x06
 
static const int kIsolateEmbedderDataOffset = 0 * kApiPointerSize
 
static const int kIsolateRootsOffset = 5 * kApiPointerSize
 
static const int kUndefinedValueRootIndex = 5
 
static const int kNullValueRootIndex = 7
 
static const int kTrueValueRootIndex = 8
 
static const int kFalseValueRootIndex = 9
 
static const int kEmptyStringRootIndex = 154
 
static const int kNodeClassIdOffset = 1 * kApiPointerSize
 
static const int kNodeFlagsOffset = 1 * kApiPointerSize + 3
 
static const int kNodeStateMask = 0xf
 
static const int kNodeStateIsWeakValue = 2
 
static const int kNodeStateIsPendingValue = 3
 
static const int kNodeStateIsNearDeathValue = 4
 
static const int kNodeIsIndependentShift = 4
 
static const int kNodeIsPartiallyDependentShift = 5
 
static const int kJSObjectType = 0xbb
 
static const int kFirstNonstringType = 0x80
 
static const int kOddballType = 0x83
 
static const int kForeignType = 0x87
 
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 5549 of file v8.h.

Member Function Documentation

static V8_INLINE bool CanCastToHeapObject ( void *  o)
inlinestatic

Definition at line 5696 of file v8.h.

static V8_INLINE bool CanCastToHeapObject ( Context o)
inlinestatic

Definition at line 5697 of file v8.h.

static V8_INLINE bool CanCastToHeapObject ( String o)
inlinestatic

Definition at line 5698 of file v8.h.

static V8_INLINE bool CanCastToHeapObject ( Object o)
inlinestatic

Definition at line 5699 of file v8.h.

static V8_INLINE bool CanCastToHeapObject ( Message o)
inlinestatic

Definition at line 5700 of file v8.h.

static V8_INLINE bool CanCastToHeapObject ( StackTrace o)
inlinestatic

Definition at line 5701 of file v8.h.

static V8_INLINE bool CanCastToHeapObject ( StackFrame o)
inlinestatic

Definition at line 5702 of file v8.h.

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

Definition at line 5596 of file v8.h.

References Internals::CheckInitializedImpl().

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

Definition at line 5666 of file v8.h.

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

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

Definition at line 5635 of file v8.h.

References Internals::kNodeFlagsOffset, obj, v8::internal::shift, and v8::internal::U.

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

Definition at line 5647 of file v8.h.

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

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

Definition at line 5625 of file v8.h.

References Internals::kOddballKindOffset, and Internals::SmiValue().

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

Definition at line 5672 of file v8.h.

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

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

Definition at line 5602 of file v8.h.

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

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

Definition at line 5611 of file v8.h.

References v8::internal::IntToSmi().

Referenced by Smi::FromInt().

static V8_INLINE bool IsExternalTwoByteString ( int  instance_type)
inlinestatic
static V8_INLINE bool IsValidSmi ( intptr_t  value)
inlinestatic

Definition at line 5615 of file v8.h.

Referenced by Smi::IsValid().

static V8_INLINE T ReadEmbedderData ( Context context,
int  index 
)
inlinestatic

Definition at line 5684 of file v8.h.

References v8::internal::I, and v8::internal::kApiPointerSize.

static V8_INLINE T ReadField ( Object ptr,
int  offset 
)
inlinestatic

Definition at line 5678 of file v8.h.

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

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

Definition at line 5658 of file v8.h.

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

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

Definition at line 5607 of file v8.h.

Referenced by Internals::GetOddballKind(), and Smi::value().

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

Definition at line 5640 of file v8.h.

References Internals::kNodeFlagsOffset, obj, and v8::internal::shift.

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

Definition at line 5652 of file v8.h.

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

Field Documentation

const int kContextEmbedderDataIndex = 65
static

Definition at line 5562 of file v8.h.

const int kContextHeaderSize = 2 * kApiPointerSize
static

Definition at line 5561 of file v8.h.

const int kEmptyStringRootIndex = 154
static

Definition at line 5574 of file v8.h.

const int kExternalAsciiRepresentationTag = 0x06
static

Definition at line 5566 of file v8.h.

const int kExternalTwoByteRepresentationTag = 0x02
static

Definition at line 5565 of file v8.h.

Referenced by Internals::IsExternalTwoByteString().

const int kFalseValueRootIndex = 9
static

Definition at line 5573 of file v8.h.

const int kFirstNonstringType = 0x80
static

Definition at line 5586 of file v8.h.

const int kFixedArrayHeaderSize = 2 * kApiPointerSize
static

Definition at line 5560 of file v8.h.

const int kForeignAddressOffset = kApiPointerSize
static

Definition at line 5558 of file v8.h.

const int kForeignType = 0x87
static

Definition at line 5588 of file v8.h.

const int kFullStringRepresentationMask = 0x07
static

Definition at line 5563 of file v8.h.

Referenced by Internals::IsExternalTwoByteString().

const int kHeapObjectMapOffset = 0
static

Definition at line 5553 of file v8.h.

Referenced by Internals::GetInstanceType().

const int kIsolateEmbedderDataOffset = 0 * kApiPointerSize
static

Definition at line 5568 of file v8.h.

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

const int kIsolateRootsOffset = 5 * kApiPointerSize
static

Definition at line 5569 of file v8.h.

Referenced by Internals::GetRoot().

const int kJSObjectHeaderSize = 3 * kApiPointerSize
static

Definition at line 5559 of file v8.h.

const int kJSObjectType = 0xbb
static

Definition at line 5585 of file v8.h.

const int kMapInstanceTypeOffset = 1 * kApiPointerSize + kApiIntSize
static

Definition at line 5554 of file v8.h.

Referenced by Internals::GetInstanceType().

const int kNodeClassIdOffset = 1 * kApiPointerSize
static

Definition at line 5576 of file v8.h.

Referenced by GlobalHandles::Node::Node().

const int kNodeFlagsOffset = 1 * kApiPointerSize + 3
static
const int kNodeIsIndependentShift = 4
static

Definition at line 5582 of file v8.h.

Referenced by GlobalHandles::Node::Node().

const int kNodeIsPartiallyDependentShift = 5
static

Definition at line 5583 of file v8.h.

Referenced by GlobalHandles::Node::Node().

const int kNodeStateIsNearDeathValue = 4
static

Definition at line 5581 of file v8.h.

Referenced by GlobalHandles::Node::Node().

const int kNodeStateIsPendingValue = 3
static

Definition at line 5580 of file v8.h.

Referenced by GlobalHandles::Node::Node().

const int kNodeStateIsWeakValue = 2
static

Definition at line 5579 of file v8.h.

Referenced by GlobalHandles::Node::Node().

const int kNodeStateMask = 0xf
static
const int kNullOddballKind = 3
static

Definition at line 5591 of file v8.h.

const int kNullValueRootIndex = 7
static

Definition at line 5571 of file v8.h.

const uint32_t kNumIsolateDataSlots = 4
static

Definition at line 5593 of file v8.h.

Referenced by Isolate::GetData(), and Isolate::SetData().

const int kOddballKindOffset = 3 * kApiPointerSize
static

Definition at line 5557 of file v8.h.

Referenced by Internals::GetOddballKind().

const int kOddballType = 0x83
static

Definition at line 5587 of file v8.h.

const int kStringEncodingMask = 0x4
static

Definition at line 5564 of file v8.h.

const int kStringResourceOffset = 3 * kApiPointerSize
static

Definition at line 5555 of file v8.h.

const int kTrueValueRootIndex = 8
static

Definition at line 5572 of file v8.h.

const int kUndefinedOddballKind = 5
static

Definition at line 5590 of file v8.h.

const int kUndefinedValueRootIndex = 5
static

Definition at line 5570 of file v8.h.


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