Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
v8.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <memory>
#include <utility>
#include <vector>
#include "v8-version.h"
#include "v8config.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.

Classes

class  v8::Local< T >
 
class  v8::MaybeLocal< T >
 
class  v8::Eternal< T >
 
class  v8::WeakCallbackInfo< T >
 
class  v8::PersistentBase< T >
 
class  v8::NonCopyablePersistentTraits< T >
 
struct  v8::CopyablePersistentTraits< T >
 
class  v8::Persistent< T, M >
 
class  v8::Global< T >
 
class  v8::HandleScope
 
class  v8::EscapableHandleScope
 
class  v8::SealHandleScope
 
class  v8::Data
 
class  v8::ScriptOriginOptions
 
class  v8::ScriptOrigin
 
class  v8::UnboundScript
 
class  v8::Location
 
class  v8::Module
 
class  v8::Script
 
class  v8::ScriptCompiler
 
struct  v8::ScriptCompiler::CachedData
 
class  v8::ScriptCompiler::Source
 
class  v8::ScriptCompiler::ExternalSourceStream
 
class  v8::ScriptCompiler::StreamedSource
 
class  v8::ScriptCompiler::ScriptStreamingTask
 
class  v8::Message
 
class  v8::StackTrace
 
class  v8::StackFrame
 
struct  v8::RegisterState
 
struct  v8::SampleInfo
 
class  v8::JSON
 
class  v8::ValueSerializer
 
class  v8::ValueSerializer::Delegate
 
class  v8::ValueDeserializer
 
class  v8::ValueDeserializer::Delegate
 
class  v8::NativeWeakMap
 
class  v8::Value
 
class  v8::Primitive
 
class  v8::Boolean
 
class  v8::Name
 
class  v8::String
 
class  v8::String::ExternalStringResourceBase
 
class  v8::String::ExternalStringResource
 
class  v8::String::ExternalOneByteStringResource
 
class  v8::String::Utf8Value
 
class  v8::String::Value
 
class  v8::Symbol
 
class  v8::Private
 
class  v8::Number
 
class  v8::Integer
 
class  v8::Int32
 
class  v8::Uint32
 
class  v8::Object
 
class  v8::Array
 
class  v8::Map
 
class  v8::Set
 
class  v8::ReturnValue< T >
 
class  v8::FunctionCallbackInfo< T >
 
class  v8::PropertyCallbackInfo< T >
 
class  v8::Function
 
class  v8::Promise
 
class  v8::Promise::Resolver
 
class  v8::PropertyDescriptor
 
class  v8::Proxy
 
class  v8::WasmCompiledModule
 
class  v8::WasmCompiledModule::TransferrableModule
 
class  v8::WasmModuleObjectBuilderStreaming
 
class  v8::WasmModuleObjectBuilder
 
class  v8::ArrayBuffer
 
class  v8::ArrayBuffer::Allocator
 
class  v8::ArrayBuffer::Contents
 
class  v8::ArrayBufferView
 
class  v8::TypedArray
 
class  v8::Uint8Array
 
class  v8::Uint8ClampedArray
 
class  v8::Int8Array
 
class  v8::Uint16Array
 
class  v8::Int16Array
 
class  v8::Uint32Array
 
class  v8::Int32Array
 
class  v8::Float32Array
 
class  v8::Float64Array
 
class  v8::DataView
 
class  v8::SharedArrayBuffer
 
class  v8::SharedArrayBuffer::Contents
 
class  v8::Date
 
class  v8::NumberObject
 
class  v8::BooleanObject
 
class  v8::StringObject
 
class  v8::SymbolObject
 
class  v8::RegExp
 
class  v8::External
 
class  v8::Template
 
class  v8::FunctionTemplate
 
struct  v8::NamedPropertyHandlerConfiguration
 
struct  v8::IndexedPropertyHandlerConfiguration
 
class  v8::ObjectTemplate
 
class  v8::Signature
 
class  v8::AccessorSignature
 
class  v8::ExternalOneByteStringResourceImpl
 
class  v8::Extension
 
class  v8::ResourceConstraints
 
class  v8::Exception
 
class  v8::PromiseRejectMessage
 
class  v8::MicrotasksScope
 
class  v8::HeapStatistics
 
class  v8::HeapSpaceStatistics
 
class  v8::HeapObjectStatistics
 
class  v8::HeapCodeStatistics
 
struct  v8::JitCodeEvent
 
struct  v8::JitCodeEvent::name_t
 
struct  v8::JitCodeEvent::line_info_t
 
class  v8::ExternalResourceVisitor
 
class  v8::PersistentHandleVisitor
 
class  v8::EmbedderHeapTracer
 
struct  v8::EmbedderHeapTracer::AdvanceTracingActions
 
struct  v8::SerializeInternalFieldsCallback
 
struct  v8::DeserializeInternalFieldsCallback
 
class  v8::Isolate
 
struct  v8::Isolate::CreateParams
 
class  v8::Isolate::Scope
 
class  v8::Isolate::DisallowJavascriptExecutionScope
 
class  v8::Isolate::AllowJavascriptExecutionScope
 
class  v8::Isolate::SuppressMicrotaskExecutionScope
 
class  v8::StartupData
 
class  v8::V8
 
class  v8::SnapshotCreator
 
class  v8::Maybe< T >
 
class  v8::TryCatch
 
class  v8::ExtensionConfiguration
 
class  v8::Context
 
class  v8::Context::Scope
 
class  v8::Context::BackupIncumbentScope
 
class  v8::Unlocker
 
class  v8::Locker
 
struct  v8::internal::SmiTagging< 4 >
 
struct  v8::internal::SmiTagging< 8 >
 
class  v8::internal::Internals
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::debug
 

Macros

#define V8_EXPORT
 
#define TYPE_CHECK(T, S)
 
#define V8_PROMISE_INTERNAL_FIELD_COUNT   0
 
#define V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT   2
 
#define V8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT   2
 
#define V8_INTRINSICS_LIST(F)
 
#define V8_DECL_INTRINSIC(name, iname)   k##name,
 

Typedefs

template<class T >
using v8::Handle = Local< T >
 
template<class T >
using v8::UniquePersistent = Global< T >
 
typedef void(* v8::AccessorGetterCallback) (Local< String > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::AccessorNameGetterCallback) (Local< Name > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::AccessorSetterCallback) (Local< String > property, Local< Value > value, const PropertyCallbackInfo< void > &info)
 
typedef void(* v8::AccessorNameSetterCallback) (Local< Name > property, Local< Value > value, const PropertyCallbackInfo< void > &info)
 
typedef void(* v8::FunctionCallback) (const FunctionCallbackInfo< Value > &info)
 
typedef void(* v8::NamedPropertyGetterCallback) (Local< String > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::NamedPropertySetterCallback) (Local< String > property, Local< Value > value, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::NamedPropertyQueryCallback) (Local< String > property, const PropertyCallbackInfo< Integer > &info)
 
typedef void(* v8::NamedPropertyDeleterCallback) (Local< String > property, const PropertyCallbackInfo< Boolean > &info)
 
typedef void(* v8::NamedPropertyEnumeratorCallback) (const PropertyCallbackInfo< Array > &info)
 
typedef void(* v8::GenericNamedPropertyGetterCallback) (Local< Name > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::GenericNamedPropertySetterCallback) (Local< Name > property, Local< Value > value, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::GenericNamedPropertyQueryCallback) (Local< Name > property, const PropertyCallbackInfo< Integer > &info)
 
typedef void(* v8::GenericNamedPropertyDeleterCallback) (Local< Name > property, const PropertyCallbackInfo< Boolean > &info)
 
typedef void(* v8::GenericNamedPropertyEnumeratorCallback) (const PropertyCallbackInfo< Array > &info)
 
typedef void(* v8::GenericNamedPropertyDefinerCallback) (Local< Name > property, const PropertyDescriptor &desc, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::GenericNamedPropertyDescriptorCallback) (Local< Name > property, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::IndexedPropertyGetterCallback) (uint32_t index, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::IndexedPropertySetterCallback) (uint32_t index, Local< Value > value, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::IndexedPropertyQueryCallback) (uint32_t index, const PropertyCallbackInfo< Integer > &info)
 
typedef void(* v8::IndexedPropertyDeleterCallback) (uint32_t index, const PropertyCallbackInfo< Boolean > &info)
 
typedef void(* v8::IndexedPropertyEnumeratorCallback) (const PropertyCallbackInfo< Array > &info)
 
typedef void(* v8::IndexedPropertyDefinerCallback) (uint32_t index, const PropertyDescriptor &desc, const PropertyCallbackInfo< Value > &info)
 
typedef void(* v8::IndexedPropertyDescriptorCallback) (uint32_t index, const PropertyCallbackInfo< Value > &info)
 
typedef bool(* v8::AccessCheckCallback) (Local< Context > accessing_context, Local< Object > accessed_object, Local< Value > data)
 
typedef void(* v8::FatalErrorCallback) (const char *location, const char *message)
 
typedef void(* v8::OOMErrorCallback) (const char *location, bool is_heap_oom)
 
typedef void(* v8::MessageCallback) (Local< Message > message, Local< Value > data)
 
typedef void(* v8::LogEventCallback) (const char *name, int event)
 
typedef int *(* v8::CounterLookupCallback) (const char *name)
 
typedef void *(* v8::CreateHistogramCallback) (const char *name, int min, int max, size_t buckets)
 
typedef void(* v8::AddHistogramSampleCallback) (void *histogram, int sample)
 
typedef void(* v8::BeforeCallEnteredCallback) (Isolate *)
 
typedef void(* v8::CallCompletedCallback) (Isolate *)
 
typedef void(* v8::DeprecatedCallCompletedCallback) ()
 
typedef MaybeLocal< Promise >(* v8::HostImportModuleDynamicallyCallback) (Local< Context > context, Local< String > referrer, Local< String > specifier)
 
typedef void(* v8::PromiseHook) (PromiseHookType type, Local< Promise > promise, Local< Value > parent)
 
typedef void(* v8::PromiseRejectCallback) (PromiseRejectMessage message)
 
typedef void(* v8::MicrotasksCompletedCallback) (Isolate *)
 
typedef void(* v8::MicrotaskCallback) (void *data)
 
typedef void(* v8::FailedAccessCheckCallback) (Local< Object > target, AccessType type, Local< Value > data)
 
typedef bool(* v8::AllowCodeGenerationFromStringsCallback) (Local< Context > context, Local< String > source)
 
typedef bool(* v8::ExtensionCallback) (const FunctionCallbackInfo< Value > &)
 
typedef void(* v8::ApiImplementationCallback) (const FunctionCallbackInfo< Value > &)
 
typedef void(* v8::GCCallback) (GCType type, GCCallbackFlags flags)
 
typedef void(* v8::InterruptCallback) (Isolate *isolate, void *data)
 
typedef void(* v8::FunctionEntryHook) (uintptr_t function, uintptr_t return_addr_location)
 
typedef void(* v8::JitCodeEventHandler) (const JitCodeEvent *event)
 
typedef SerializeInternalFieldsCallback v8::SerializeEmbedderFieldsCallback
 
typedef DeserializeInternalFieldsCallback v8::DeserializeEmbedderFieldsCallback
 
typedef bool(* v8::EntropySource) (unsigned char *buffer, size_t length)
 
typedef uintptr_t(* v8::ReturnAddressLocationResolver) (uintptr_t return_addr_location)
 
typedef SmiTagging< kApiPointerSize > v8::internal::PlatformSmiTagging
 

Enumerations

enum class  v8::WeakCallbackType { v8::kParameter , v8::kInternalFields , v8::kFinalizer }
 
enum  v8::StateTag {
  v8::JS , v8::GC , v8::PARSER , v8::BYTECODE_COMPILER ,
  v8::COMPILER , v8::OTHER , v8::EXTERNAL , v8::IDLE
}
 
enum class  v8::NewStringType { v8::kNormal , v8::kInternalized }
 
enum  v8::PropertyAttribute { v8::None = 0 , v8::ReadOnly = 1 << 0 , v8::DontEnum = 1 << 1 , v8::DontDelete = 1 << 2 }
 
enum  v8::AccessControl { v8::DEFAULT = 0 , v8::ALL_CAN_READ = 1 , v8::ALL_CAN_WRITE = 1 << 1 , v8::PROHIBITS_OVERWRITING = 1 << 2 }
 
enum  v8::PropertyFilter {
  v8::ALL_PROPERTIES = 0 , v8::ONLY_WRITABLE = 1 , v8::ONLY_ENUMERABLE = 2 , v8::ONLY_CONFIGURABLE = 4 ,
  v8::SKIP_STRINGS = 8 , v8::SKIP_SYMBOLS = 16
}
 
enum class  v8::KeyCollectionMode { v8::kOwnOnly , v8::kIncludePrototypes }
 
enum class  v8::IndexFilter { v8::kIncludeIndices , v8::kSkipIndices }
 
enum class  v8::IntegrityLevel { v8::kFrozen , v8::kSealed }
 
enum class  v8::ConstructorBehavior { v8::kThrow , v8::kAllow }
 
enum class  v8::ArrayBufferCreationMode { v8::kInternalized , v8::kExternalized }
 
enum  v8::Intrinsic {
  v8::kArrayProto_entries , v8::kArrayProto_forEach , v8::kArrayProto_keys , v8::kArrayProto_values ,
  v8::kErrorPrototype , v8::kIteratorPrototype
}
 
enum  v8::AccessType {
  v8::ACCESS_GET , v8::ACCESS_SET , v8::ACCESS_HAS , v8::ACCESS_DELETE ,
  v8::ACCESS_KEYS
}
 
enum class  v8::PropertyHandlerFlags { v8::kNone = 0 , v8::kAllCanRead = 1 , v8::kNonMasking = 1 << 1 , v8::kOnlyInterceptStrings = 1 << 2 }
 
enum  v8::ObjectSpace {
  v8::kObjectSpaceNewSpace = 1 << 0 , v8::kObjectSpaceOldSpace = 1 << 1 , v8::kObjectSpaceCodeSpace = 1 << 2 , v8::kObjectSpaceMapSpace = 1 << 3 ,
  v8::kObjectSpaceLoSpace = 1 << 4 , v8::kObjectSpaceAll
}
 
enum  v8::AllocationAction { v8::kAllocationActionAllocate = 1 << 0 , v8::kAllocationActionFree = 1 << 1 , v8::kAllocationActionAll = kAllocationActionAllocate | kAllocationActionFree }
 
enum class  v8::PromiseHookType { v8::kInit , v8::kResolve , v8::kBefore , v8::kAfter }
 
enum  v8::PromiseRejectEvent { v8::kPromiseRejectWithNoHandler = 0 , v8::kPromiseHandlerAddedAfterReject = 1 }
 
enum class  v8::MicrotasksPolicy { v8::kExplicit , v8::kScoped , v8::kAuto }
 
enum  v8::GCType {
  v8::kGCTypeScavenge = 1 << 0 , v8::kGCTypeMarkSweepCompact = 1 << 1 , v8::kGCTypeIncrementalMarking = 1 << 2 , v8::kGCTypeProcessWeakCallbacks = 1 << 3 ,
  v8::kGCTypeAll
}
 
enum  v8::GCCallbackFlags {
  v8::kNoGCCallbackFlags = 0 , v8::kGCCallbackFlagConstructRetainedObjectInfos = 1 << 1 , v8::kGCCallbackFlagForced = 1 << 2 , v8::kGCCallbackFlagSynchronousPhantomCallbackProcessing = 1 << 3 ,
  v8::kGCCallbackFlagCollectAllAvailableGarbage = 1 << 4 , v8::kGCCallbackFlagCollectAllExternalMemory = 1 << 5 , v8::kGCCallbackScheduleIdleGarbageCollection = 1 << 6
}
 
enum  v8::RAILMode { v8::PERFORMANCE_RESPONSE , v8::PERFORMANCE_ANIMATION , v8::PERFORMANCE_IDLE , v8::PERFORMANCE_LOAD }
 
enum  v8::JitCodeEventOptions { v8::kJitCodeEventDefault = 0 , v8::kJitCodeEventEnumExisting = 1 }
 
enum class  v8::MemoryPressureLevel { v8::kNone , v8::kModerate , v8::kCritical }
 

Functions

void v8::RegisterExtension (Extension *extension)
 
Local< Primitive > v8::Undefined (Isolate *isolate)
 
Local< Primitive > v8::Null (Isolate *isolate)
 
Local< Boolean > v8::True (Isolate *isolate)
 
Local< Boolean > v8::False (Isolate *isolate)
 
template<class T >
Maybe< T > v8::Nothing ()
 
template<class T >
Maybe< T > v8::Just (const T &t)
 
template<int kSmiShiftSize>
internal::Object * v8::internal::IntToSmi (int value)
 

Variables

const int v8::internal::kApiPointerSize = sizeof(void*)
 
const int v8::internal::kApiIntSize = sizeof(int)
 
const int v8::internal::kApiInt64Size = sizeof(int64_t)
 
const int v8::internal::kHeapObjectTag = 1
 
const int v8::internal::kHeapObjectTagSize = 2
 
const intptr_t v8::internal::kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1
 
const int v8::internal::kSmiTag = 0
 
const int v8::internal::kSmiTagSize = 1
 
const intptr_t v8::internal::kSmiTagMask = (1 << kSmiTagSize) - 1
 
const int v8::internal::kSmiShiftSize = PlatformSmiTagging::kSmiShiftSize
 
const int v8::internal::kSmiValueSize = PlatformSmiTagging::kSmiValueSize
 

Macro Definition Documentation

◆ TYPE_CHECK

#define TYPE_CHECK (   T,
 
)
Value:
while (false) { \
*(static_cast<T* volatile*>(0)) = static_cast<S*>(0); \
}

◆ V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT

#define V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT   2

◆ V8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT

#define V8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT   2

◆ V8_DECL_INTRINSIC

#define V8_DECL_INTRINSIC (   name,
  iname 
)    k##name,

◆ V8_EXPORT

#define V8_EXPORT

◆ V8_INTRINSICS_LIST

#define V8_INTRINSICS_LIST (   F)
Value:
F(ArrayProto_entries, array_entries_iterator) \
F(ArrayProto_forEach, array_for_each_iterator) \
F(ArrayProto_keys, array_keys_iterator) \
F(ArrayProto_values, array_values_iterator) \
F(ErrorPrototype, initial_error_prototype) \
F(IteratorPrototype, initial_iterator_prototype)

◆ V8_PROMISE_INTERNAL_FIELD_COUNT

#define V8_PROMISE_INTERNAL_FIELD_COUNT   0