V8 API Reference Guide generated from the header files
Public Member Functions | Static Public Member Functions | Friends
v8::V8 Class Reference

#include <v8.h>

Public Member Functions

 V8_DEPRECATED ("Use SnapshotCreator", static StartupData CreateSnapshotDataBlob(const char *embedded_source=NULL))
 
 V8_DEPRECATED ("Use SnapshotCreator", static StartupData WarmUpSnapshotDataBlob(StartupData cold_startup_blob, const char *warmup_source))
 
 V8_DEPRECATE_SOON ("Use EnableWebAssemblyTrapHandler", static bool RegisterDefaultSignalHandler())
 

Static Public Member Functions

static void SetNativesDataBlob (StartupData *startup_blob)
 
static void SetSnapshotDataBlob (StartupData *startup_blob)
 
static void SetDcheckErrorHandler (DcheckErrorCallback that)
 
static void SetFlagsFromString (const char *str, int length)
 
static void SetFlagsFromCommandLine (int *argc, char **argv, bool remove_flags)
 
static const char * GetVersion ()
 
static bool Initialize ()
 
static void SetEntropySource (EntropySource source)
 
static void SetReturnAddressLocationResolver (ReturnAddressLocationResolver return_address_resolver)
 
static bool Dispose ()
 
static bool InitializeICU (const char *icu_data_file=nullptr)
 
static bool InitializeICUDefaultLocation (const char *exec_path, const char *icu_data_file=nullptr)
 
static void InitializeExternalStartupData (const char *directory_path)
 
static void InitializeExternalStartupData (const char *natives_blob, const char *snapshot_blob)
 
static void InitializePlatform (Platform *platform)
 
static void ShutdownPlatform ()
 
static bool EnableWebAssemblyTrapHandler (bool use_v8_signal_handler)
 

Friends

template<class K , class V , class T >
class PersistentValueMapBase
 
template<class T >
class Local
 
template<class T >
class MaybeLocal
 
template<class T >
class Maybe
 
template<class T >
class WeakCallbackInfo
 
template<class T >
class Eternal
 
template<class T >
class PersistentBase
 
template<class T , class M >
class Persistent
 
class Context
 

Detailed Description

Container class for static utility functions.

Member Function Documentation

◆ Dispose()

static bool v8::V8::Dispose ( )
static

Releases any resources used by v8 and stops any utility threads that may be running. Note that disposing v8 is permanent, it cannot be reinitialized.

It should generally not be necessary to dispose v8 before exiting a process, this should happen automatically. It is only necessary to use if the process needs the resources taken up by v8.

◆ EnableWebAssemblyTrapHandler()

static bool v8::V8::EnableWebAssemblyTrapHandler ( bool  use_v8_signal_handler)
static

Activate trap-based bounds checking for WebAssembly.

Parameters
use_v8_signal_handlerWhether V8 should install its own signal handler or rely on the embedder's.

◆ GetVersion()

static const char* v8::V8::GetVersion ( )
static

Get the version string.

◆ Initialize()

static bool v8::V8::Initialize ( )
static

Initializes V8. This function needs to be called before the first Isolate is created. It always returns true.

◆ InitializeExternalStartupData()

static void v8::V8::InitializeExternalStartupData ( const char *  directory_path)
static

Initialize the external startup data. The embedder only needs to invoke this method when external startup data was enabled in a build.

If V8 was compiled with the startup data in an external file, then V8 needs to be given those external files during startup. There are three ways to do this:

  • InitializeExternalStartupData(const char*) This will look in the given directory for files "natives_blob.bin" and "snapshot_blob.bin" - which is what the default build calls them.
  • InitializeExternalStartupData(const char*, const char*) As above, but will directly use the two given file names.
  • Call SetNativesDataBlob, SetNativesDataBlob. This will read the blobs from the given data structures and will not perform any file IO.

◆ InitializeICU()

static bool v8::V8::InitializeICU ( const char *  icu_data_file = nullptr)
static

Initialize the ICU library bundled with V8. The embedder should only invoke this method when using the bundled ICU. Returns true on success.

If V8 was compiled with the ICU data in an external file, the location of the data file has to be provided.

◆ InitializeICUDefaultLocation()

static bool v8::V8::InitializeICUDefaultLocation ( const char *  exec_path,
const char *  icu_data_file = nullptr 
)
static

Initialize the ICU library bundled with V8. The embedder should only invoke this method when using the bundled ICU. If V8 was compiled with the ICU data in an external file and when the default location of that file should be used, a path to the executable must be provided. Returns true on success.

The default is a file called icudtl.dat side-by-side with the executable.

Optionally, the location of the data file can be provided to override the default.

◆ InitializePlatform()

static void v8::V8::InitializePlatform ( Platform platform)
static

Sets the v8::Platform to use. This should be invoked before V8 is initialized.

◆ SetDcheckErrorHandler()

static void v8::V8::SetDcheckErrorHandler ( DcheckErrorCallback  that)
static

Set the callback to invoke in case of Dcheck failures.

◆ SetEntropySource()

static void v8::V8::SetEntropySource ( EntropySource  source)
static

Allows the host application to provide a callback which can be used as a source of entropy for random number generators.

◆ SetFlagsFromCommandLine()

static void v8::V8::SetFlagsFromCommandLine ( int *  argc,
char **  argv,
bool  remove_flags 
)
static

Sets V8 flags from the command line.

◆ SetFlagsFromString()

static void v8::V8::SetFlagsFromString ( const char *  str,
int  length 
)
static

Sets V8 flags from a string.

◆ SetNativesDataBlob()

static void v8::V8::SetNativesDataBlob ( StartupData startup_blob)
static

Hand startup data to V8, in case the embedder has chosen to build V8 with external startup data.

Note:

  • By default the startup data is linked into the V8 library, in which case this function is not meaningful.
  • If this needs to be called, it needs to be called before V8 tries to make use of its built-ins.
  • To avoid unnecessary copies of data, V8 will point directly into the given data blob, so pretty please keep it around until V8 exit.
  • Compression of the startup blob might be useful, but needs to handled entirely on the embedders' side.
  • The call will abort if the data is invalid.

◆ SetReturnAddressLocationResolver()

static void v8::V8::SetReturnAddressLocationResolver ( ReturnAddressLocationResolver  return_address_resolver)
static

Allows the host application to provide a callback that allows v8 to cooperate with a profiler that rewrites return addresses on stack.

◆ ShutdownPlatform()

static void v8::V8::ShutdownPlatform ( )
static

Clears all references to the v8::Platform. This should be invoked after V8 was disposed.

◆ V8_DEPRECATE_SOON()

v8::V8::V8_DEPRECATE_SOON ( "Use EnableWebAssemblyTrapHandler ,
static bool   RegisterDefaultSignalHandler() 
)

Enable the default signal handler rather than using one provided by the embedder.

◆ V8_DEPRECATED() [1/2]

v8::V8::V8_DEPRECATED ( "Use SnapshotCreator ,
static StartupData   CreateSnapshotDataBlobconst char *embedded_source=NULL 
)

Bootstrap an isolate and a context from scratch to create a startup snapshot. Include the side-effects of running the optional script. Returns { NULL, 0 } on failure. The caller acquires ownership of the data array in the return value.

◆ V8_DEPRECATED() [2/2]

v8::V8::V8_DEPRECATED ( "Use SnapshotCreator ,
static StartupData   WarmUpSnapshotDataBlobStartupData cold_startup_blob, const char *warmup_source 
)

Bootstrap an isolate and a context from the cold startup blob, run the warm-up script to trigger code compilation. The side effects are then discarded. The resulting startup snapshot will include compiled code. Returns { NULL, 0 } on failure. The caller acquires ownership of the data array in the return value. The argument startup blob is untouched.


The documentation for this class was generated from the following file: