V8
Classes | Typedefs | Enumerations | Functions
v8 Namespace Reference

Classes

class  UniqueId
class  Handle
class  Local
class  Eternal
class  WeakCallbackData
class  PersistentBase
class  NonCopyablePersistentTraits
struct  CopyablePersistentTraits
class  Persistent
class  UniquePersistent
class  HandleScope
class  EscapableHandleScope
struct  Maybe
class  Data
class  ScriptOrigin
class  UnboundScript
class  Script
class  ScriptCompiler
class  Message
class  StackTrace
class  StackFrame
struct  RegisterState
struct  SampleInfo
class  JSON
class  Value
class  Primitive
class  Boolean
class  Name
class  String
class  Symbol
class  Private
class  Number
class  Integer
class  Int32
class  Uint32
class  Object
class  Array
class  ReturnValue
class  FunctionCallbackInfo
class  PropertyCallbackInfo
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  ExternalOneByteStringResourceImpl
class  Extension
class  ResourceConstraints
class  Exception
class  PromiseRejectMessage
class  HeapStatistics
struct  JitCodeEvent
class  ExternalResourceVisitor
class  PersistentHandleVisitor
class  Isolate
class  StartupData
class  StartupDataDecompressor
class  V8
class  TryCatch
class  ExtensionConfiguration
class  Context
class  Unlocker
class  Locker
class  Debug

Typedefs

typedef void(* AccessorGetterCallback )(Local< String > property, const PropertyCallbackInfo< Value > &info)
typedef void(* AccessorNameGetterCallback )(Local< Name > property, const PropertyCallbackInfo< Value > &info)
typedef void(* AccessorSetterCallback )(Local< String > property, Local< Value > value, const PropertyCallbackInfo< void > &info)
typedef void(* AccessorNameSetterCallback )(Local< Name > 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(* PromiseRejectCallback )(PromiseRejectMessage message)
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 void(* FunctionEntryHook )(uintptr_t function, uintptr_t return_addr_location)
typedef void(* JitCodeEventHandler )(const JitCodeEvent *event)
typedef bool(* EntropySource )(unsigned char *buffer, size_t length)
typedef uintptr_t(* ReturnAddressLocationResolver )(uintptr_t return_addr_location)

Enumerations

enum  StateTag {
  JS, GC, COMPILER, OTHER,
  EXTERNAL, IDLE
}
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  PromiseRejectEvent { kPromiseRejectWithNoHandler = 0, kPromiseHandlerAddedAfterReject = 1 }
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 }
enum  DebugEvent {
  Break = 1, Exception = 2, NewFunction = 3, BeforeCompile = 4,
  AfterCompile = 5, CompileError = 6, PromiseEvent = 7, AsyncTaskEvent = 8,
  BreakForCommand = 9
}

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)

Detailed Description

The v8 JavaScript engine.

Debugger support for the V8 JavaScript engine.

Typedef Documentation

typedef void(* v8::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.

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

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

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

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

typedef void(* v8::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.
typedef void(* v8::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.

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

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

typedef void(* v8::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.

typedef void(* v8::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.

typedef void(* v8::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.

typedef bool(* v8::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.

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

Callback function passed to SetJitCodeEventHandler.

Parameters
eventcode add, move or removal event.
typedef void(* v8::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.

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

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

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

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

typedef void(* v8::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.)

typedef void(* v8::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.

typedef bool(* v8::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.

typedef uintptr_t(* v8::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.

Enumeration Type Documentation

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.

Access type specification.

enum v8::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.

Option flags passed to the SetJitCodeEventHandler function.