v8  3.28.71 (node 0.12.18)
V8 is Google's open source JavaScript engine
v8 Namespace Reference

Namespaces

 internal
 
 platform
 

Data Structures

class  Debug
 
class  Task
 
class  Platform
 
class  CpuProfileNode
 
class  CpuProfile
 
class  CpuProfiler
 
class  HeapGraphEdge
 
class  HeapGraphNode
 
class  OutputStream
 
class  HeapSnapshot
 
class  ActivityControl
 
class  HeapProfiler
 
class  RetainedObjectInfo
 
struct  HeapStatsUpdate
 
class  Testing
 
class  StdMapTraits
 
class  DefaultPersistentValueMapTraits
 
class  PersistentValueMap
 
class  StdPersistentValueMap
 
class  DefaultPersistentValueVectorTraits
 
class  PersistentValueVector
 
class  Handle
 
class  Local
 
class  Eternal
 
class  NonCopyablePersistentTraits
 
class  PersistentBase
 
class  Persistent
 
class  UniquePersistent
 
class  WeakCallbackObject
 
class  FunctionCallbackInfo
 
class  PropertyCallbackInfo
 
class  ReturnValue
 
class  UniqueId
 
class  WeakCallbackData
 
struct  CopyablePersistentTraits
 
class  HandleScope
 
class  EscapableHandleScope
 
struct  Maybe
 
class  Data
 
class  ScriptOrigin
 
class  UnboundScript
 
class  Script
 
class  ScriptCompiler
 
class  Message
 
class  StackTrace
 
class  StackFrame
 
class  JSON
 
class  Value
 
class  Primitive
 
class  Boolean
 
class  String
 
class  Symbol
 
class  Private
 
class  Number
 
class  Integer
 
class  Int32
 
class  Uint32
 
class  Object
 
class  Array
 
class  Function
 
class  Promise
 
class  ArrayBuffer
 
class  ArrayBufferView
 
class  TypedArray
 
class  Uint8Array
 
class  Uint8ClampedArray
 
class  Int8Array
 
class  Uint16Array
 
class  Int16Array
 
class  Uint32Array
 
class  Int32Array
 
class  Float32Array
 
class  Float64Array
 
class  DataView
 
class  Date
 
class  NumberObject
 
class  BooleanObject
 
class  StringObject
 
class  SymbolObject
 
class  RegExp
 
class  External
 
class  Template
 
class  FunctionTemplate
 
class  ObjectTemplate
 
class  Signature
 
class  AccessorSignature
 
class  DeclaredAccessorDescriptor
 
class  ObjectOperationDescriptor
 
class  RawOperationDescriptor
 
class  TypeSwitch
 
class  ExternalAsciiStringResourceImpl
 
class  Extension
 
class  ResourceConstraints
 
class  Exception
 
class  HeapStatistics
 
class  Isolate
 
class  StartupData
 
class  StartupDataDecompressor
 
struct  JitCodeEvent
 
class  ExternalResourceVisitor
 
class  PersistentHandleVisitor
 
class  V8
 
class  TryCatch
 
class  ExtensionConfiguration
 
class  Context
 
class  Unlocker
 
class  Locker
 
class  AlignOfHelper
 

Typedefs

typedef uint32_t SnapshotObjectId
 
typedef uintptr_t PersistentContainerValue
 
typedef void(* AccessorGetterCallback) (Local< String > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* AccessorSetterCallback) (Local< String > property, Local< Value > value, const PropertyCallbackInfo< void > &info)
 
typedef void(* FunctionCallback) (const FunctionCallbackInfo< Value > &info)
 
typedef void(* NamedPropertyGetterCallback) (Local< String > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* NamedPropertySetterCallback) (Local< String > property, Local< Value > value, const PropertyCallbackInfo< Value > &info)
 
typedef void(* NamedPropertyQueryCallback) (Local< String > property, const PropertyCallbackInfo< Integer > &info)
 
typedef void(* NamedPropertyDeleterCallback) (Local< String > property, const PropertyCallbackInfo< Boolean > &info)
 
typedef void(* NamedPropertyEnumeratorCallback) (const PropertyCallbackInfo< Array > &info)
 
typedef void(* IndexedPropertyGetterCallback) (uint32_t index, const PropertyCallbackInfo< Value > &info)
 
typedef void(* IndexedPropertySetterCallback) (uint32_t index, Local< Value > value, const PropertyCallbackInfo< Value > &info)
 
typedef void(* IndexedPropertyQueryCallback) (uint32_t index, const PropertyCallbackInfo< Integer > &info)
 
typedef void(* IndexedPropertyDeleterCallback) (uint32_t index, const PropertyCallbackInfo< Boolean > &info)
 
typedef void(* IndexedPropertyEnumeratorCallback) (const PropertyCallbackInfo< Array > &info)
 
typedef bool(* NamedSecurityCallback) (Local< Object > host, Local< Value > key, AccessType type, Local< Value > data)
 
typedef bool(* IndexedSecurityCallback) (Local< Object > host, uint32_t index, AccessType type, Local< Value > data)
 
typedef void(* FatalErrorCallback) (const char *location, const char *message)
 
typedef void(* MessageCallback) (Handle< Message > message, Handle< Value > error)
 
typedef void(* LogEventCallback) (const char *name, int event)
 
typedef int *(* CounterLookupCallback) (const char *name)
 
typedef void *(* CreateHistogramCallback) (const char *name, int min, int max, size_t buckets)
 
typedef void(* AddHistogramSampleCallback) (void *histogram, int sample)
 
typedef void(* MemoryAllocationCallback) (ObjectSpace space, AllocationAction action, int size)
 
typedef void(* CallCompletedCallback) ()
 
typedef void(* MicrotaskCallback) (void *data)
 
typedef void(* FailedAccessCheckCallback) (Local< Object > target, AccessType type, Local< Value > data)
 
typedef bool(* AllowCodeGenerationFromStringsCallback) (Local< Context > context)
 
typedef void(* GCPrologueCallback) (GCType type, GCCallbackFlags flags)
 
typedef void(* GCEpilogueCallback) (GCType type, GCCallbackFlags flags)
 
typedef void(* InterruptCallback) (Isolate *isolate, void *data)
 
typedef bool(* EntropySource) (unsigned char *buffer, size_t length)
 
typedef uintptr_t(* ReturnAddressLocationResolver) (uintptr_t return_addr_location)
 
typedef void(* FunctionEntryHook) (uintptr_t function, uintptr_t return_addr_location)
 
typedef void(* JitCodeEventHandler) (const JitCodeEvent *event)
 

Enumerations

enum  DebugEvent {
  Break = 1 , Exception = 2 , NewFunction = 3 , BeforeCompile = 4 ,
  AfterCompile = 5 , CompileError = 6 , PromiseEvent = 7 , AsyncTaskEvent = 8 ,
  BreakForCommand = 9
}
 
enum  PersistentContainerCallbackType { kNotWeak , kWeak }
 
enum  PropertyAttribute { None = 0 , ReadOnly = 1 << 0 , DontEnum = 1 << 1 , DontDelete = 1 << 2 }
 
enum  ExternalArrayType {
  kExternalInt8Array = 1 , kExternalUint8Array , kExternalInt16Array , kExternalUint16Array ,
  kExternalInt32Array , kExternalUint32Array , kExternalFloat32Array , kExternalFloat64Array ,
  kExternalUint8ClampedArray , kExternalByteArray = kExternalInt8Array , kExternalUnsignedByteArray = kExternalUint8Array , kExternalShortArray = kExternalInt16Array ,
  kExternalUnsignedShortArray = kExternalUint16Array , kExternalIntArray = kExternalInt32Array , kExternalUnsignedIntArray = kExternalUint32Array , kExternalFloatArray = kExternalFloat32Array ,
  kExternalDoubleArray = kExternalFloat64Array , kExternalPixelArray = kExternalUint8ClampedArray
}
 
enum  AccessControl { DEFAULT = 0 , ALL_CAN_READ = 1 , ALL_CAN_WRITE = 1 << 1 , PROHIBITS_OVERWRITING = 1 << 2 }
 
enum  AccessType {
  ACCESS_GET , ACCESS_SET , ACCESS_HAS , ACCESS_DELETE ,
  ACCESS_KEYS
}
 
enum  DeclaredAccessorDescriptorDataType {
  kDescriptorBoolType , kDescriptorInt8Type , kDescriptorUint8Type , kDescriptorInt16Type ,
  kDescriptorUint16Type , kDescriptorInt32Type , kDescriptorUint32Type , kDescriptorFloatType ,
  kDescriptorDoubleType
}
 
enum  ObjectSpace {
  kObjectSpaceNewSpace = 1 << 0 , kObjectSpaceOldPointerSpace = 1 << 1 , kObjectSpaceOldDataSpace = 1 << 2 , kObjectSpaceCodeSpace = 1 << 3 ,
  kObjectSpaceMapSpace = 1 << 4 , kObjectSpaceLoSpace = 1 << 5 , kObjectSpaceAll
}
 
enum  AllocationAction { kAllocationActionAllocate = 1 << 0 , kAllocationActionFree = 1 << 1 , kAllocationActionAll = kAllocationActionAllocate | kAllocationActionFree }
 
enum  GCType { kGCTypeScavenge = 1 << 0 , kGCTypeMarkSweepCompact = 1 << 1 , kGCTypeAll = kGCTypeScavenge | kGCTypeMarkSweepCompact }
 
enum  GCCallbackFlags { kNoGCCallbackFlags = 0 , kGCCallbackFlagCompacted = 1 << 0 , kGCCallbackFlagConstructRetainedObjectInfos = 1 << 1 , kGCCallbackFlagForced = 1 << 2 }
 
enum  JitCodeEventOptions { kJitCodeEventDefault = 0 , kJitCodeEventEnumExisting = 1 }
 

Functions

template<class T >
Maybe< T > maybe (T t)
 
void V8_EXPORT RegisterExtension (Extension *extension)
 
V8_INLINE Handle< PrimitiveUndefined (Isolate *isolate)
 
V8_INLINE Handle< PrimitiveNull (Isolate *isolate)
 
V8_INLINE Handle< BooleanTrue (Isolate *isolate)
 
V8_INLINE Handle< BooleanFalse (Isolate *isolate)
 
bool V8_EXPORT SetResourceConstraints (Isolate *isolate, ResourceConstraints *constraints)
 

Detailed Description

Debugger support for the V8 JavaScript engine.

Profiler support for the V8 JavaScript engine.

Testing support for the V8 JavaScript engine.

Support for Persistent containers.

C++11 embedders can use STL containers with UniquePersistent values, but pre-C++11 does not support the required move semantic and hence may want these container classes.

The v8 JavaScript engine.

Typedef Documentation

◆ AccessorGetterCallback

typedef void(* AccessorGetterCallback) (Local< String > property, const PropertyCallbackInfo< Value > &info)

Accessor[Getter|Setter] are used as callback functions when setting|getting a particular property. See Object and ObjectTemplate's method SetAccessor.

Definition at line 2079 of file v8.h.

◆ AccessorSetterCallback

typedef void(* AccessorSetterCallback) (Local< String > property, Local< Value > value, const PropertyCallbackInfo< void > &info)

Definition at line 2084 of file v8.h.

◆ AddHistogramSampleCallback

typedef void(* AddHistogramSampleCallback) (void *histogram, int sample)

Definition at line 3960 of file v8.h.

◆ AllowCodeGenerationFromStringsCallback

typedef bool(* AllowCodeGenerationFromStringsCallback) (Local< Context > context)

Callback to check if code generation from strings is allowed. See Context::AllowCodeGenerationFromStrings.

Definition at line 4003 of file v8.h.

◆ CallCompletedCallback

typedef void(* CallCompletedCallback) ()

Definition at line 3987 of file v8.h.

◆ CounterLookupCallback

typedef int*(* CounterLookupCallback) (const char *name)

Definition at line 3953 of file v8.h.

◆ CreateHistogramCallback

typedef void*(* CreateHistogramCallback) (const char *name, int min, int max, size_t buckets)

Definition at line 3955 of file v8.h.

◆ EntropySource

typedef bool(* EntropySource) (unsigned char *buffer, size_t length)

EntropySource is used as a callback function when v8 needs a source of entropy.

Definition at line 4549 of file v8.h.

◆ FailedAccessCheckCallback

typedef void(* FailedAccessCheckCallback) (Local< Object > target, AccessType type, Local< Value > data)

Definition at line 3993 of file v8.h.

◆ FatalErrorCallback

typedef void(* FatalErrorCallback) (const char *location, const char *message)

Definition at line 3928 of file v8.h.

◆ FunctionCallback

typedef void(* FunctionCallback) (const FunctionCallbackInfo< Value > &info)

Definition at line 2538 of file v8.h.

◆ FunctionEntryHook

typedef void(* FunctionEntryHook) (uintptr_t function, uintptr_t return_addr_location)

FunctionEntryHook is the type of the profile entry hook called at entry to any generated function when function-level profiling is enabled.

Parameters
functionthe address of the function that's being entered.
return_addr_locationpoints to a location on stack where the machine return address resides. This can be used to identify the caller of function, and/or modified to divert execution when function exits.
Note
the entry hook must not cause garbage collection.

Definition at line 4580 of file v8.h.

◆ GCEpilogueCallback

typedef void(* GCEpilogueCallback) (GCType type, GCCallbackFlags flags)

Definition at line 4028 of file v8.h.

◆ GCPrologueCallback

typedef void(* GCPrologueCallback) (GCType type, GCCallbackFlags flags)

Definition at line 4027 of file v8.h.

◆ IndexedPropertyDeleterCallback

typedef void(* IndexedPropertyDeleterCallback) (uint32_t index, const PropertyCallbackInfo< Boolean > &info)

Returns a non-empty handle if the deleter intercepts the request. The return value is true if the property could be deleted and false otherwise.

Definition at line 3315 of file v8.h.

◆ IndexedPropertyEnumeratorCallback

typedef void(* IndexedPropertyEnumeratorCallback) (const PropertyCallbackInfo< Array > &info)

Returns an array containing the indices of the properties the indexed property getter intercepts.

Definition at line 3324 of file v8.h.

◆ IndexedPropertyGetterCallback

typedef void(* IndexedPropertyGetterCallback) (uint32_t index, const PropertyCallbackInfo< Value > &info)

Returns the value of the property if the getter intercepts the request. Otherwise, returns an empty handle.

Definition at line 3286 of file v8.h.

◆ IndexedPropertyQueryCallback

typedef void(* IndexedPropertyQueryCallback) (uint32_t index, const PropertyCallbackInfo< Integer > &info)

Returns a non-empty handle if the interceptor intercepts the request. The result is an integer encoding property attributes.

Definition at line 3305 of file v8.h.

◆ IndexedPropertySetterCallback

typedef void(* IndexedPropertySetterCallback) (uint32_t index, Local< Value > value, const PropertyCallbackInfo< Value > &info)

Returns the value if the setter intercepts the request. Otherwise, returns an empty handle.

Definition at line 3295 of file v8.h.

◆ IndexedSecurityCallback

typedef bool(* IndexedSecurityCallback) (Local< Object > host, uint32_t index, AccessType type, Local< Value > data)

Returns true if cross-context access should be allowed to the indexed property with the given index on the host object.

Definition at line 3354 of file v8.h.

◆ InterruptCallback

typedef void(* InterruptCallback) (Isolate *isolate, void *data)

Definition at line 4030 of file v8.h.

◆ JitCodeEventHandler

typedef void(* JitCodeEventHandler) (const JitCodeEvent *event)

Callback function passed to SetJitCodeEventHandler.

Parameters
eventcode add, move or removal event.

Definition at line 4666 of file v8.h.

◆ LogEventCallback

typedef void(* LogEventCallback) (const char *name, int event)

Definition at line 3935 of file v8.h.

◆ MemoryAllocationCallback

typedef void(* MemoryAllocationCallback) (ObjectSpace space, AllocationAction action, int size)

Definition at line 3982 of file v8.h.

◆ MessageCallback

typedef void(* MessageCallback) (Handle< Message > message, Handle< Value > error)

Definition at line 3931 of file v8.h.

◆ MicrotaskCallback

typedef void(* MicrotaskCallback) (void *data)

Definition at line 3990 of file v8.h.

◆ NamedPropertyDeleterCallback

typedef void(* NamedPropertyDeleterCallback) (Local< String > property, const PropertyCallbackInfo< Boolean > &info)

Returns a non-empty handle if the deleter intercepts the request. The return value is true if the property could be deleted and false otherwise.

Definition at line 3269 of file v8.h.

◆ NamedPropertyEnumeratorCallback

typedef void(* NamedPropertyEnumeratorCallback) (const PropertyCallbackInfo< Array > &info)

Returns an array containing the names of the properties the named property getter intercepts.

Definition at line 3278 of file v8.h.

◆ NamedPropertyGetterCallback

typedef void(* NamedPropertyGetterCallback) (Local< String > property, const PropertyCallbackInfo< Value > &info)

NamedProperty[Getter|Setter] are used as interceptors on object. See ObjectTemplate::SetNamedPropertyHandler.

Definition at line 3239 of file v8.h.

◆ NamedPropertyQueryCallback

typedef void(* NamedPropertyQueryCallback) (Local< String > property, const PropertyCallbackInfo< Integer > &info)

Returns a non-empty handle if the interceptor intercepts the request. The result is an integer encoding property attributes (like v8::None, v8::DontEnum, etc.)

Definition at line 3259 of file v8.h.

◆ NamedPropertySetterCallback

typedef void(* NamedPropertySetterCallback) (Local< String > property, Local< Value > value, const PropertyCallbackInfo< Value > &info)

Returns the value if the setter intercepts the request. Otherwise, returns an empty handle.

Definition at line 3248 of file v8.h.

◆ NamedSecurityCallback

typedef bool(* NamedSecurityCallback) (Local< Object > host, Local< Value > key, AccessType type, Local< Value > data)

Returns true if cross-context access should be allowed to the named property with the given key on the host object.

Definition at line 3344 of file v8.h.

◆ PersistentContainerValue

typedef uintptr_t PersistentContainerValue

Definition at line 21 of file v8-util.h.

◆ ReturnAddressLocationResolver

typedef uintptr_t(* ReturnAddressLocationResolver) (uintptr_t return_addr_location)

ReturnAddressLocationResolver is used as a callback function when v8 is resolving the location of a return address on the stack. Profilers that change the return address on the stack can use this to resolve the stack location to whereever the profiler stashed the original return address.

Parameters
return_addr_locationpoints to a location on stack where a machine return address resides.
Returns
either return_addr_location, or else a pointer to the profiler's copy of the original return address.
Note
the resolver function must not cause garbage collection.

Definition at line 4565 of file v8.h.

◆ SnapshotObjectId

typedef uint32_t SnapshotObjectId

Definition at line 18 of file v8-profiler.h.

Enumeration Type Documentation

◆ AccessControl

Access control specifications.

Some accessors should be accessible across contexts. These accessors have an explicit access control parameter which specifies the kind of cross-context access that should be allowed.

TODO(dcarney): Remove PROHIBITS_OVERWRITING as it is now unused.

Enumerator
DEFAULT 
ALL_CAN_READ 
ALL_CAN_WRITE 
PROHIBITS_OVERWRITING 

Definition at line 2099 of file v8.h.

◆ AccessType

enum AccessType

Access type specification.

Enumerator
ACCESS_GET 
ACCESS_SET 
ACCESS_HAS 
ACCESS_DELETE 
ACCESS_KEYS 

Definition at line 3331 of file v8.h.

◆ AllocationAction

Enumerator
kAllocationActionAllocate 
kAllocationActionFree 
kAllocationActionAll 

Definition at line 3976 of file v8.h.

◆ DebugEvent

enum DebugEvent
Enumerator
Break 
Exception 
NewFunction 
BeforeCompile 
AfterCompile 
CompileError 
PromiseEvent 
AsyncTaskEvent 
BreakForCommand 

Definition at line 16 of file v8-debug.h.

◆ DeclaredAccessorDescriptorDataType

Enumerator
kDescriptorBoolType 
kDescriptorInt8Type 
kDescriptorUint8Type 
kDescriptorInt16Type 
kDescriptorUint16Type 
kDescriptorInt32Type 
kDescriptorUint32Type 
kDescriptorFloatType 
kDescriptorDoubleType 

Definition at line 3741 of file v8.h.

◆ ExternalArrayType

Enumerator
kExternalInt8Array 
kExternalUint8Array 
kExternalInt16Array 
kExternalUint16Array 
kExternalInt32Array 
kExternalUint32Array 
kExternalFloat32Array 
kExternalFloat64Array 
kExternalUint8ClampedArray 
kExternalByteArray 
kExternalUnsignedByteArray 
kExternalShortArray 
kExternalUnsignedShortArray 
kExternalIntArray 
kExternalUnsignedIntArray 
kExternalFloatArray 
kExternalDoubleArray 
kExternalPixelArray 

Definition at line 2051 of file v8.h.

◆ GCCallbackFlags

Enumerator
kNoGCCallbackFlags 
kGCCallbackFlagCompacted 
kGCCallbackFlagConstructRetainedObjectInfos 
kGCCallbackFlagForced 

Definition at line 4020 of file v8.h.

◆ GCType

enum GCType

Applications can register callback functions which will be called before and after a garbage collection. Allocations are not allowed in the callback functions, you therefore cannot manipulate objects (set or delete properties for example) since it is possible such operations will result in the allocation of objects.

Enumerator
kGCTypeScavenge 
kGCTypeMarkSweepCompact 
kGCTypeAll 

Definition at line 4014 of file v8.h.

◆ JitCodeEventOptions

Option flags passed to the SetJitCodeEventHandler function.

Enumerator
kJitCodeEventDefault 
kJitCodeEventEnumExisting 

Definition at line 4654 of file v8.h.

◆ ObjectSpace

Enumerator
kObjectSpaceNewSpace 
kObjectSpaceOldPointerSpace 
kObjectSpaceOldDataSpace 
kObjectSpaceCodeSpace 
kObjectSpaceMapSpace 
kObjectSpaceLoSpace 
kObjectSpaceAll 

Definition at line 3963 of file v8.h.

◆ PersistentContainerCallbackType

Enumerator
kNotWeak 
kWeak 

Definition at line 23 of file v8-util.h.

◆ PropertyAttribute

Enumerator
None 
ReadOnly 
DontEnum 
DontDelete 

Definition at line 2044 of file v8.h.

Function Documentation

◆ False()

Handle< Boolean > False ( Isolate isolate)

Definition at line 6622 of file v8.h.

◆ maybe()

Maybe<T> v8::maybe ( t)
inline

Definition at line 900 of file v8.h.

◆ Null()

Handle< Primitive > Null ( Isolate isolate)

Definition at line 6604 of file v8.h.

◆ RegisterExtension()

void V8_EXPORT v8::RegisterExtension ( Extension extension)

◆ SetResourceConstraints()

bool V8_EXPORT v8::SetResourceConstraints ( Isolate isolate,
ResourceConstraints constraints 
)

Sets the given ResourceConstraints on the given Isolate.

◆ True()

Handle< Boolean > True ( Isolate isolate)

Definition at line 6613 of file v8.h.

◆ Undefined()

Handle< Primitive > Undefined ( Isolate isolate)

Definition at line 6595 of file v8.h.