1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-14 10:01:51 -05:00
denoland-deno/core
Ryan Dahl 046cccfe17
Remove dispatch optimization (#2732)
Deno.core.dispatch() used to push the "control" buf onto the shared
array buffer before calling into V8, with the idea that it was one less
argument to parse. Turns out there is no more overhead passing the
control ArrayBuffer directly over. Furthermore this optimization was
making the refactors outlined in #2730 more complex. Therefore it is
being removed.
2019-08-05 20:12:15 -04:00
..
examples Use system rustfmt instead of fixed binary (#2701) 2019-07-31 17:11:37 -04:00
libdeno Add error handling for dynamic imports to libdeno (#2678) 2019-07-24 01:57:32 +02:00
any_error.rs Fix expected dyn before AnyError trait (#2663) 2019-07-18 23:48:44 +02:00
BUILD.gn Rewrite snapshot_creator in Rust 2019-07-08 18:18:28 -04:00
build.rs Publish rust crate on crates.io (#2024) 2019-03-31 17:22:02 -04:00
Cargo.toml third_party: upgrade rust crates 2019-08-02 18:59:54 +02:00
core.d.ts Revert "Refactor dispatch handling (#2452)" 2019-06-14 13:56:36 -07:00
flags.rs Use system rustfmt instead of fixed binary (#2701) 2019-07-31 17:11:37 -04:00
isolate.rs Remove dispatch optimization (#2732) 2019-08-05 20:12:15 -04:00
js_errors.rs Use system rustfmt instead of fixed binary (#2701) 2019-07-31 17:11:37 -04:00
lib.rs Refactor error to use dynamic dispatch and traits 2019-07-11 14:37:00 -04:00
libdeno.rs Add error handling for dynamic imports to libdeno (#2678) 2019-07-24 01:57:32 +02:00
module_specifier.rs feat: add debug info to ModuleResolutionError (#2697) 2019-07-30 14:34:57 +00:00
modules.rs Use system rustfmt instead of fixed binary (#2701) 2019-07-31 17:11:37 -04:00
README.md Adjust core/README.md text 2019-05-20 15:22:08 -04:00
shared_queue.js Remove dispatch optimization (#2732) 2019-08-05 20:12:15 -04:00
shared_queue.rs Remove dispatch optimization (#2732) 2019-08-05 20:12:15 -04:00
shared_queue_test.js Fixes #2033, shared queue push bug (#2158) 2019-04-21 12:16:55 -04:00
snapshot_creator.rs Rewrite snapshot_creator in Rust 2019-07-08 18:18:28 -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 provides a way to execute JavaScript. The Isolate is modeled as a Future<Item=(), Error=JSError> which completes once all of its ops have completed.

In order to bind Rust functions into JavaScript, use the Deno.core.dispatch() function to trigger the "dispatch" callback in Rust. The user is responsible for encoding both the request and response into a Uint8Array.

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.