From 61cda728816b5916180f22d977ba741e2fadc8d9 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Wed, 24 Oct 2018 01:12:13 -0400 Subject: libdeno: Expose snapshot creation. --- libdeno/internal.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'libdeno/internal.h') diff --git a/libdeno/internal.h b/libdeno/internal.h index d71b36048..6816debec 100644 --- a/libdeno/internal.h +++ b/libdeno/internal.h @@ -16,6 +16,7 @@ class DenoIsolate { DenoIsolate(deno_buf snapshot, deno_recv_cb cb) : isolate_(nullptr), current_args_(nullptr), + snapshot_creator_(nullptr), global_import_buf_ptr_(nullptr), pending_promise_events_(0), cb_(cb), @@ -30,8 +31,8 @@ class DenoIsolate { void AddIsolate(v8::Isolate* isolate); v8::Isolate* isolate_; - // Put v8::Isolate::CreateParams here.. const v8::FunctionCallbackInfo* current_args_; + v8::SnapshotCreator* snapshot_creator_; void* global_import_buf_ptr_; int32_t pending_promise_events_; deno_recv_cb cb_; @@ -86,11 +87,13 @@ static intptr_t external_references[] = { reinterpret_cast(SetPromiseErrorExaminer), 0}; +static const deno_buf empty_buf = {nullptr, 0, nullptr, 0}; + Deno* NewFromSnapshot(void* user_data, deno_recv_cb cb); void InitializeContext(v8::Isolate* isolate, v8::Local context, - const char* js_filename, const std::string& js_source, - const std::string* source_map); + const char* js_filename, const char* js_source, + const char* source_map); void HandleException(v8::Local context, v8::Local exception); @@ -98,6 +101,9 @@ void HandleException(v8::Local context, void DeserializeInternalFields(v8::Local holder, int index, v8::StartupData payload, void* data); +v8::StartupData SerializeInternalFields(v8::Local holder, int index, + void* data); + v8::Local ImportBuf(DenoIsolate* d, deno_buf buf); void DeleteDataRef(DenoIsolate* d, int32_t req_id); -- cgit v1.2.3