v8
9.4.146 (node 16.13.0)
V8 is Google's open source JavaScript engine
|
#include <v8.h>
Public Types | |
enum class | FunctionCodeHandling { kClear , kKeep } |
Public Member Functions | |
SnapshotCreator (Isolate *isolate, const intptr_t *external_references=nullptr, StartupData *existing_blob=nullptr) | |
SnapshotCreator (const intptr_t *external_references=nullptr, StartupData *existing_blob=nullptr) | |
~SnapshotCreator () | |
Isolate * | GetIsolate () |
void | SetDefaultContext (Local< Context > context, SerializeInternalFieldsCallback callback=SerializeInternalFieldsCallback()) |
size_t | AddContext (Local< Context > context, SerializeInternalFieldsCallback callback=SerializeInternalFieldsCallback()) |
template<class T > | |
V8_INLINE size_t | AddData (Local< Context > context, Local< T > object) |
template<class T > | |
V8_INLINE size_t | AddData (Local< T > object) |
StartupData | CreateBlob (FunctionCodeHandling function_code_handling) |
SnapshotCreator (const SnapshotCreator &)=delete | |
void | operator= (const SnapshotCreator &)=delete |
template<class T > | |
size_t | AddData (Local< Context > context, Local< T > object) |
template<class T > | |
size_t | AddData (Local< T > object) |
Helper class to create a snapshot data blob.
The Isolate used by a SnapshotCreator is owned by it, and will be entered and exited by the constructor and destructor, respectively; The destructor will also destroy the Isolate. Experimental language features, including those available by default, are not available while creating a snapshot.
|
strong |
SnapshotCreator | ( | Isolate * | isolate, |
const intptr_t * | external_references = nullptr , |
||
StartupData * | existing_blob = nullptr |
||
) |
Initialize and enter an isolate, and set it up for serialization. The isolate is either created from scratch or from an existing snapshot. The caller keeps ownership of the argument snapshot.
existing_blob | existing snapshot from which to create this one. |
external_references | a null-terminated array of external references that must be equivalent to CreateParams::external_references. |
SnapshotCreator | ( | const intptr_t * | external_references = nullptr , |
StartupData * | existing_blob = nullptr |
||
) |
Create and enter an isolate, and set it up for serialization. The isolate is either created from scratch or from an existing snapshot. The caller keeps ownership of the argument snapshot.
existing_blob | existing snapshot from which to create this one. |
external_references | a null-terminated array of external references that must be equivalent to CreateParams::external_references. |
~SnapshotCreator | ( | ) |
Destroy the snapshot creator, and exit and dispose of the Isolate associated with it.
|
delete |
size_t AddContext | ( | Local< Context > | context, |
SerializeInternalFieldsCallback | callback = SerializeInternalFieldsCallback() |
||
) |
Add additional context to be included in the snapshot blob. The snapshot will include the global proxy.
callback | optional callback to serialize internal fields. |
Attach arbitrary V8::Data to the context snapshot, which can be retrieved via Context::GetDataFromSnapshot after deserialization. This data does not survive when a new snapshot is created from an existing snapshot.
Attach arbitrary V8::Data to the isolate snapshot, which can be retrieved via Isolate::GetDataFromSnapshot after deserialization. This data does not survive when a new snapshot is created from an existing snapshot.
StartupData CreateBlob | ( | FunctionCodeHandling | function_code_handling | ) |
Created a snapshot data blob. This must not be called from within a handle scope.
function_code_handling | whether to include compiled function code in the snapshot. |
Isolate* GetIsolate | ( | ) |
|
delete |
void SetDefaultContext | ( | Local< Context > | context, |
SerializeInternalFieldsCallback | callback = SerializeInternalFieldsCallback() |
||
) |
Set the default context to be included in the snapshot blob. The snapshot will not contain the global proxy, and we expect one or a global object template to create one, to be provided upon deserialization.
callback | optional callback to serialize internal fields. |