Classes | Typedefs | Enumerations | Functions

v8 Namespace Reference

Classes

class  Handle
class  Local
class  Persistent
class  HandleScope
class  Data
class  ScriptData
class  ScriptOrigin
class  Script
class  Message
class  StackTrace
class  StackFrame
class  Value
class  Primitive
class  Boolean
class  String
class  Number
class  Integer
class  Int32
class  Uint32
class  Object
class  Array
class  Function
class  Date
class  NumberObject
class  BooleanObject
class  StringObject
class  RegExp
class  External
class  Template
class  Arguments
class  AccessorInfo
class  FunctionTemplate
class  ObjectTemplate
class  Signature
class  TypeSwitch
class  Extension
class  DeclareExtension
class  ResourceConstraints
class  Exception
class  HeapStatistics
class  Isolate
class  StartupData
class  StartupDataDecompressor
class  V8
class  TryCatch
class  ExtensionConfiguration
class  Context
class  Unlocker
class  Locker
class  OutputStream
class  ActivityControl
class  Debug

Typedefs

typedef void(* WeakReferenceCallback )(Persistent< Value > object, void *parameter)
typedef Handle< Value >(* AccessorGetter )(Local< String > property, const AccessorInfo &info)
typedef void(* AccessorSetter )(Local< String > property, Local< Value > value, const AccessorInfo &info)
typedef Handle< Value >(* InvocationCallback )(const Arguments &args)
typedef Handle< Value >(* NamedPropertyGetter )(Local< String > property, const AccessorInfo &info)
typedef Handle< Value >(* NamedPropertySetter )(Local< String > property, Local< Value > value, const AccessorInfo &info)
typedef Handle< Integer >(* NamedPropertyQuery )(Local< String > property, const AccessorInfo &info)
typedef Handle< Boolean >(* NamedPropertyDeleter )(Local< String > property, const AccessorInfo &info)
typedef Handle< Array >(* NamedPropertyEnumerator )(const AccessorInfo &info)
typedef Handle< Value >(* IndexedPropertyGetter )(uint32_t index, const AccessorInfo &info)
typedef Handle< Value >(* IndexedPropertySetter )(uint32_t index, Local< Value > value, const AccessorInfo &info)
typedef Handle< Integer >(* IndexedPropertyQuery )(uint32_t index, const AccessorInfo &info)
typedef Handle< Boolean >(* IndexedPropertyDeleter )(uint32_t index, const AccessorInfo &info)
typedef Handle< Array >(* IndexedPropertyEnumerator )(const AccessorInfo &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 > data)
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(* 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(* GCCallback )()
typedef bool(* EntropySource )(unsigned char *buffer, size_t length)

Enumerations

enum  PropertyAttribute { None = 0, ReadOnly = 1 << 0, DontEnum = 1 << 1, DontDelete = 1 << 2 }
enum  ExternalArrayType {
  kExternalByteArray = 1, kExternalUnsignedByteArray, kExternalShortArray, kExternalUnsignedShortArray,
  kExternalIntArray, kExternalUnsignedIntArray, kExternalFloatArray, kExternalDoubleArray,
  kExternalPixelArray
}
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  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 }
enum  DebugEvent {
  Break = 1, Exception = 2, NewFunction = 3, BeforeCompile = 4,
  AfterCompile = 5, ScriptCollected = 6, BreakForCommand = 7
}

Functions

void V8EXPORT RegisterExtension (Extension *extension)
Handle< Primitive > V8EXPORT Undefined ()
Handle< Primitive > V8EXPORT Null ()
Handle< Boolean > V8EXPORT True ()
Handle< Boolean > V8EXPORT False ()
bool V8EXPORT SetResourceConstraints (ResourceConstraints *constraints)
Handle< Value > V8EXPORT ThrowException (Handle< Value > exception)

Detailed Description

The v8 JavaScript engine.

Debugger support for the V8 JavaScript engine.


Typedef Documentation

typedef Handle<Value>(* v8::AccessorGetter)(Local< String > property, const AccessorInfo &info)

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

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 Handle<Boolean>(* v8::IndexedPropertyDeleter)(uint32_t index, const AccessorInfo &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.

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

typedef Handle<Value>(* v8::IndexedPropertyGetter)(uint32_t index, const AccessorInfo &info)

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

typedef Handle<Integer>(* v8::IndexedPropertyQuery)(uint32_t index, const AccessorInfo &info)

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

typedef Handle<Value>(* v8::IndexedPropertySetter)(uint32_t index, Local< Value > value, const AccessorInfo &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 Handle<Boolean>(* v8::NamedPropertyDeleter)(Local< String > property, const AccessorInfo &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.

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

typedef Handle<Value>(* v8::NamedPropertyGetter)(Local< String > property, const AccessorInfo &info)

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

typedef Handle<Integer>(* v8::NamedPropertyQuery)(Local< String > property, const AccessorInfo &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 Handle<Value>(* v8::NamedPropertySetter)(Local< String > property, Local< Value > value, const AccessorInfo &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 void(* v8::WeakReferenceCallback)(Persistent< Value > object, void *parameter)

A weak reference callback function.

This callback should either explicitly invoke Dispose on |object| if V8 wrapper is not needed anymore, or 'revive' it by invocation of MakeWeak.

Parameters:
object the weak global object to be reclaimed by the garbage collector
parameter the value passed in when making the weak global object

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.

Additionally, for security, accessors can prohibit overwriting by accessors defined in JavaScript. For objects that have such accessors either locally or in their prototype chain it is not possible to overwrite the accessor by using __defineGetter__ or __defineSetter__ from JavaScript code.

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.


Function Documentation

Handle<Value> V8EXPORT v8::ThrowException ( Handle< Value >  exception  ) 

Schedules an exception to be thrown when returning to JavaScript. When an exception has been scheduled it is illegal to invoke any JavaScript operation; the caller must return immediately and only after the exception has been handled does it become legal to invoke JavaScript operations.