v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
v8.h File Reference
#include "v8stdint.h"
Include dependency graph for v8.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  Handle< T >
 
class  Local< T >
 
class  Persistent< T >
 
class  Handle< T >
 
class  Local< T >
 
class  Persistent< T >
 
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  String::ExternalStringResourceBase
 
class  String::ExternalStringResource
 
class  String::ExternalAsciiStringResource
 
class  String::Utf8Value
 
class  String::AsciiValue
 
class  String::Value
 
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  AccessorSignature
 
class  TypeSwitch
 
class  ExternalAsciiStringResourceImpl
 
class  Extension
 
class  DeclareExtension
 
class  ResourceConstraints
 
class  Exception
 
class  HeapStatistics
 
class  Isolate
 
class  Isolate::Scope
 
class  StartupData
 
class  StartupDataDecompressor
 
struct  JitCodeEvent
 
class  ExternalResourceVisitor
 
class  PersistentHandleVisitor
 
class  V8
 
class  TryCatch
 
class  ExtensionConfiguration
 
class  Context
 
class  Context::Scope
 
class  Unlocker
 
class  Locker
 
class  OutputStream
 
class  ActivityControl
 
struct  SmiTagging< ptr_size >
 
struct  SmiTagging< 4 >
 
struct  SmiTagging< 8 >
 
class  Internals
 

Namespaces

 v8
 
 v8::internal
 

Macros

#define V8EXPORT
 
#define TYPE_CHECK(T, S)
 

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 > error)
 
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(* 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)
 
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)
 
typedef SmiTagging
< kApiPointerSize > 
PlatformSmiTagging
 

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  JitCodeEventOptions { kJitCodeEventDefault = 0, kJitCodeEventEnumExisting = 1 }
 

Functions

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

Variables

const int kApiPointerSize = sizeof(void*)
 
const int kApiIntSize = sizeof(int)
 
const int kHeapObjectTag = 1
 
const int kHeapObjectTagSize = 2
 
const intptr_t kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1
 
const int kSmiTag = 0
 
const int kSmiTagSize = 1
 
const intptr_t kSmiTagMask = (1 << kSmiTagSize) - 1
 
const int kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize
 
const int kSmiValueSize = PlatformSmiTagging::kSmiValueSize
 
const uintptr_t kEncodablePointerMask
 
const int kPointerToSmiShift = PlatformSmiTagging::kPointerToSmiShift
 

Macro Definition Documentation

#define TYPE_CHECK (   T,
  S 
)
Value:
while (false) { \
*(static_cast<T* volatile*>(0)) = static_cast<S*>(0); \
}
#define S(x)
Definition: version.cc:55
#define T(name, string, precedence)
Definition: token.cc:48

Definition at line 144 of file v8.h.

Referenced by Handle< Value >::Handle(), Local< Object >::Local(), and Persistent< Value >::Persistent().

#define V8EXPORT

Definition at line 74 of file v8.h.