diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2019-06-04 19:35:51 +0200 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-07-08 18:18:28 -0400 |
commit | d641782c823317a2d2f64d646a0d5b8b6c22b771 (patch) | |
tree | a03beb0939a46333636d0de68eee052978103cfe /core/libdeno/snapshot_creator.cc | |
parent | 79c3439f269f1e0e24003518e363988fa4f1da33 (diff) |
Rewrite snapshot_creator in Rust
Diffstat (limited to 'core/libdeno/snapshot_creator.cc')
-rw-r--r-- | core/libdeno/snapshot_creator.cc | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/core/libdeno/snapshot_creator.cc b/core/libdeno/snapshot_creator.cc deleted file mode 100644 index bd3c8081d..000000000 --- a/core/libdeno/snapshot_creator.cc +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. -// Hint: --trace_serializer is a useful debugging flag. -#include <fstream> -#include <iostream> -#include "deno.h" -#include "file_util.h" -#include "internal.h" -#include "third_party/v8/include/v8.h" -#include "third_party/v8/src/base/logging.h" - -int main(int argc, char** argv) { - const char* snapshot_out_bin = argv[1]; - const char* js_fn = argv[2]; - - deno_set_v8_flags(&argc, argv); - - CHECK_NOT_NULL(js_fn); - CHECK_NOT_NULL(snapshot_out_bin); - - std::string js_source; - CHECK(deno::ReadFileToString(js_fn, &js_source)); - - deno_init(); - deno_config config = {1, deno::empty_snapshot, deno::empty_buf, nullptr, - nullptr}; - Deno* d = deno_new(config); - - deno_execute(d, nullptr, js_fn, js_source.c_str()); - if (deno_last_exception(d) != nullptr) { - std::cerr << "Snapshot Exception " << std::endl; - std::cerr << deno_last_exception(d) << std::endl; - deno_delete(d); - return 1; - } - - auto snapshot = deno_snapshot_new(d); - - std::ofstream file_(snapshot_out_bin, std::ios::binary); - file_.write(reinterpret_cast<char*>(snapshot.data_ptr), snapshot.data_len); - file_.close(); - - deno_snapshot_delete(snapshot); - deno_delete(d); - - return file_.bad(); -} |