From 3b595253a2e9f8badc416f85d0b09bf48f344634 Mon Sep 17 00:00:00 2001 From: Tristan Marion Date: Fri, 22 Jun 2018 15:30:35 +0200 Subject: Move `deno2` folder to `src` (#277) --- deno2/from_snapshot.cc | 71 -------------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100644 deno2/from_snapshot.cc (limited to 'deno2/from_snapshot.cc') diff --git a/deno2/from_snapshot.cc b/deno2/from_snapshot.cc deleted file mode 100644 index 97d5885a9..000000000 --- a/deno2/from_snapshot.cc +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2018 Ryan Dahl -// All rights reserved. MIT License. -#include -#include -#include -#include - -#include "v8/include/v8.h" -#include "v8/src/base/logging.h" - -#include "./deno_internal.h" -#include "include/deno.h" - -#ifdef DENO_MOCK_RUNTIME -#include "snapshot_mock_runtime.cc" -#else -#include "snapshot_deno.cc" -#endif - -namespace deno { - -std::vector deserialized_data; - -void DeserializeInternalFields(v8::Local holder, int index, - v8::StartupData payload, void* data) { - DCHECK_EQ(data, nullptr); - if (payload.raw_size == 0) { - holder->SetAlignedPointerInInternalField(index, nullptr); - return; - } - InternalFieldData* embedder_field = new InternalFieldData{0}; - memcpy(embedder_field, payload.data, payload.raw_size); - holder->SetAlignedPointerInInternalField(index, embedder_field); - deserialized_data.push_back(embedder_field); -} - -Deno* NewFromSnapshot(void* data, deno_sub_cb cb) { - Deno* d = new Deno; - d->currentArgs = nullptr; - d->cb = cb; - d->data = data; - v8::Isolate::CreateParams params; - params.array_buffer_allocator = - v8::ArrayBuffer::Allocator::NewDefaultAllocator(); - params.external_references = external_references; - params.snapshot_blob = StartupBlob_snapshot(); - v8::Isolate* isolate = v8::Isolate::New(params); - AddIsolate(d, isolate); - - v8::Locker locker(isolate); - v8::Isolate::Scope isolate_scope(isolate); - { - v8::HandleScope handle_scope(isolate); - auto context = - v8::Context::New(isolate, nullptr, v8::MaybeLocal(), - v8::MaybeLocal(), - v8::DeserializeInternalFieldsCallback( - DeserializeInternalFields, nullptr)); - d->context.Reset(d->isolate, context); - } - - return d; -} - -} // namespace deno - -extern "C" { -Deno* deno_new(void* data, deno_sub_cb cb) { - return deno::NewFromSnapshot(data, cb); -} -} -- cgit v1.2.3