0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-30 09:08:00 -04:00
denoland-deno/core
Ryan Dahl f7fdb90fd5
core: snapshot improvements (#2052)
* Moves how snapshots are supplied to the Isolate. Previously they were
  given by Behavior::startup_data() but it was only called once at
  startup. It makes more sense (and simplifies Behavior) to pass it to the
  constructor of Isolate.
* Adds new libdeno type deno_snapshot instead of overloading
  deno_buf.
* Adds new libdeno method to delete snapshot deno_snapshot_delete().
* Renames deno_get_snapshot() to deno_snapshot_new().
* Makes StartupData hold references to snapshots. This was implicit when
  it previously held a deno_buf but is made explicit now. Note that
  include_bytes!() returns a &'static [u8] and we want to avoid
  copying that.
2019-04-08 10:12:43 -04:00
..
libdeno core: snapshot improvements (#2052) 2019-04-08 10:12:43 -04:00
BUILD.gn Rename crate deno_core to deno (#2022) 2019-03-30 19:30:40 -04:00
build.rs Publish rust crate on crates.io (#2024) 2019-03-31 17:22:02 -04:00
Cargo.toml v0.3.6 2019-04-04 09:59:41 -04:00
core.d.ts namespace reorg: libdeno and DenoCore to Deno.core (#1998) 2019-03-26 08:22:07 -04:00
flags.rs core: Abstract out Behavior from Isolate (#1904) 2019-03-11 17:57:36 -04:00
http_bench.js namespace reorg: libdeno and DenoCore to Deno.core (#1998) 2019-03-26 08:22:07 -04:00
http_bench.rs core: snapshot improvements (#2052) 2019-04-08 10:12:43 -04:00
isolate.rs core: snapshot improvements (#2052) 2019-04-08 10:12:43 -04:00
js_errors.rs Non-fatal compile_sync failures (#2039) 2019-04-04 05:33:32 -04:00
lib.rs Add deno_core::RecursiveLoad for async module loading (#2034) 2019-04-02 20:10:08 +02:00
libdeno.rs core: snapshot improvements (#2052) 2019-04-08 10:12:43 -04:00
modules.rs Refactor deno_core::RecursiveLoad to be more idiomatic (#2034) 2019-04-02 20:10:16 +02:00
README.md Improve docs in core (#2049) 2019-04-04 09:35:52 -04:00
shared_queue.js namespace reorg: libdeno and DenoCore to Deno.core (#1998) 2019-03-26 08:22:07 -04:00
shared_queue.rs Clippy fixes 2019-04-02 18:04:25 +02:00
shared_queue_test.js namespace reorg: libdeno and DenoCore to Deno.core (#1998) 2019-03-26 08:22:07 -04:00

Deno Core

This Rust crate contains the essential V8 bindings for Deno's command-line interface (Deno CLI). The main abstraction here is the Isolate which proivdes a way to execute JavaScript. The Isolate is modeled as a Future<Item=(), Error=JSError> which completes once all of its ops have completed. The user must define what an Op is by implementing the Behavior trait, and by doing so define any "built-in" functionality that would be provided by the VM. Ops are triggered by Deno.core.dispatch().

Documentation for this crate is thin at the moment. Please see http_bench.rs as a simple example of usage.

TypeScript support and a lot of other functionality is not available at this layer. See the cli for that.