summaryrefslogtreecommitdiff
path: root/deno2/main.cc
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2018-06-10 00:32:04 +0200
committerRyan Dahl <ry@tinyclouds.org>2018-06-10 01:02:08 +0200
commit110ddab670cbf477488cceeea2842c980942d7b8 (patch)
tree6bc1e6dd42f01b98f302e97b4dd4dbb3a7be700d /deno2/main.cc
parentfe9ea6dcf8f57cff5c3856a5d54e8f9c8236a924 (diff)
Add deno2 prototype from external repo.
Diffstat (limited to 'deno2/main.cc')
-rw-r--r--deno2/main.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/deno2/main.cc b/deno2/main.cc
new file mode 100644
index 000000000..b5c703b55
--- /dev/null
+++ b/deno2/main.cc
@@ -0,0 +1,33 @@
+// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
+// All rights reserved. MIT License.
+#include <assert.h>
+#include <stdio.h>
+
+#include "v8/include/v8.h"
+
+#include "./deno.h"
+#include "natives_deno.cc"
+#include "snapshot_deno.cc"
+
+int main(int argc, char** argv) {
+ v8_init();
+
+ auto natives_blob = *StartupBlob_natives();
+ printf("natives_blob %d bytes\n", natives_blob.raw_size);
+
+ auto snapshot_blob = *StartupBlob_snapshot();
+ printf("snapshot_blob %d bytes\n", snapshot_blob.raw_size);
+
+ v8::V8::SetNativesDataBlob(&natives_blob);
+ v8::V8::SetSnapshotDataBlob(&snapshot_blob);
+
+ Deno* d = deno_from_snapshot(&snapshot_blob, NULL, NULL);
+ int r = deno_load(d, "main2.js", "foo();");
+ if (r != 0) {
+ printf("Error! %s\n", deno_last_exception(d));
+ exit(1);
+ }
+
+ const char* v = v8::V8::GetVersion();
+ printf("Hello World. V8 version %s\n", v);
+}