Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #248

Closed
wants to merge 15 commits into from
Prev Previous commit
Next Next commit
Simplify c api
  • Loading branch information
ry committed Jun 10, 2018
commit aa857984b04511e62296b6d3ad9a451f81d71f71
8 changes: 6 additions & 2 deletions deno2/deno.cc
Original file line number Diff line number Diff line change
Expand Up @@ -295,8 +295,12 @@ void deno_add_isolate(Deno* d, v8::Isolate* isolate) {
d->isolate->SetData(0, d);
}

v8::StartupData deno_make_snapshot(const char* js_filename,
const char* js_source) {
v8::StartupData make_snapshot(v8::StartupData* prev_natives_blob,
v8::StartupData* prev_snapshot_blob,
const char* js_filename, const char* js_source) {
v8::V8::SetNativesDataBlob(prev_natives_blob);
v8::V8::SetSnapshotDataBlob(prev_snapshot_blob);

auto creator = new v8::SnapshotCreator(external_references);
auto* isolate = creator->GetIsolate();

Expand Down
5 changes: 3 additions & 2 deletions deno2/deno.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ void v8_set_flags(int* argc, char** argv);
// Constructors:
Deno* deno_from_snapshot(v8::StartupData* blob, void* data, RecvCallback cb);

v8::StartupData deno_make_snapshot(const char* js_filename,
const char* js_source);
v8::StartupData make_snapshot(v8::StartupData* prev_natives_blob,
v8::StartupData* prev_snapshot_blob,
const char* js_filename, const char* js_source);

void* deno_get_data();

Expand Down
9 changes: 3 additions & 6 deletions deno2/snapshot_creator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -125,16 +125,13 @@ int main(int argc, char** argv) {
const char* natives_out_cc = argv[4];
const char* snapshot_out_cc = argv[5];

deno::v8_init();

auto js_data = ReadFile(js_fn);
auto natives_blob = ReadFile(natives_in_bin);
auto snapshot_in_blob = ReadFile(snapshot_in_bin);

v8::V8::SetNativesDataBlob(&natives_blob);
v8::V8::SetSnapshotDataBlob(&snapshot_in_blob);

auto snapshot_blob = deno::deno_make_snapshot(js_fn, js_data.data);
deno::v8_init();
auto snapshot_blob = deno::make_snapshot(&natives_blob, &snapshot_in_blob,
js_fn, js_data.data);

StartupDataCppWriter nativesWriter("natives", natives_out_cc, natives_blob);
nativesWriter.Write();
Expand Down