1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 23:34:47 -05:00
denoland-deno/cli
Bartek Iwańczuk cb2ca234bb
refactor(core): limit number of boundary crossings between Rust and V8 (#18652)
This commit refactors "deno_core" to do fewer boundary crossings
from Rust to V8. In other words we are now calling V8 from Rust fewer
times.

This is done by merging 3 distinct callbacks into a single one. Instead
of having "op resolve" callback, "next tick" callback and "macrotask
queue" callback, we now have only "Deno.core.eventLoopTick" callback,
which is responsible for doing the same actions previous 3 callbacks.

On each of the event loop we were doing at least 2 boundary crosses
(timers macrotask queue callback and unhandled promise rejection
callback) and up to 4 crosses if there were op response and next tick
callbacks coming from Node.js compatibility layer. Now this is all done
in a single callback.

Closes https://github.com/denoland/deno/issues/18620
2023-04-14 02:41:32 +02:00
..
args refactor: upgrade to deno_npm 0.3.0 (#18671) 2023-04-13 10:47:45 -04:00
bench perf(ops): directly respond for eager ops (#18683) 2023-04-13 14:32:47 +02:00
cache fix(lsp): include all diagnosable documents on initialize (#17979) 2023-03-30 17:47:53 -04:00
js refactor(cli): move runTests() and runBenchmarks() to rust (#18563) 2023-04-13 19:43:23 +02:00
lsp refactor(cli): move runTests() and runBenchmarks() to rust (#18563) 2023-04-13 19:43:23 +02:00
napi chore: forward v1.32.4 release commit to main (#18669) 2023-04-12 13:03:27 -04:00
node refactor(cli,ext,ops): cleanup regex with lazy-regex (#17296) 2023-04-13 03:08:01 +02:00
npm refactor: upgrade to deno_npm 0.3.0 (#18671) 2023-04-13 10:47:45 -04:00
ops refactor(cli): move runTests() and runBenchmarks() to rust (#18563) 2023-04-13 19:43:23 +02:00
schemas feat: embed import map in the config file (#17478) 2023-01-25 21:13:40 +01:00
tests refactor(core): limit number of boundary crossings between Rust and V8 (#18652) 2023-04-14 02:41:32 +02:00
tools refactor(cli): add Emitter struct (#18690) 2023-04-13 18:03:07 +00:00
tsc refactor(cli,ext,ops): cleanup regex with lazy-regex (#17296) 2023-04-13 03:08:01 +02:00
util test(runtime): support Windows in resolve_from_cwd_absolute (#18379) 2023-04-13 01:45:53 +02:00
auth_tokens.rs chore: upgrade to Rust 1.67 (#17548) 2023-01-27 10:43:16 -05:00
build.rs refactor(cli,ext,ops): cleanup regex with lazy-regex (#17296) 2023-04-13 03:08:01 +02:00
Cargo.toml refactor: upgrade to deno_npm 0.3.0 (#18671) 2023-04-13 10:47:45 -04:00
deno.ico fix(cli): add icon and metadata to deno.exe on Windows (#6693) 2020-07-15 21:54:38 +02:00
deno_std.rs chore: forward v1.32.4 release commit to main (#18669) 2023-04-12 13:03:27 -04:00
emit.rs refactor(cli): add Emitter struct (#18690) 2023-04-13 18:03:07 +00:00
errors.rs feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
file_fetcher.rs Revert "fix(cli): don't store blob and data urls in the module cache (#18261)" (#18572) 2023-04-03 21:05:39 +09:00
graph_util.rs fix(npm): do not "npm install" when npm specifier happens to match package.json entry (#18660) 2023-04-11 18:10:51 -04:00
http_util.rs refactor: remove usages of map_or / map_or_else (#18212) 2023-03-15 17:46:36 -04:00
js.rs refactor(core): Improve ergonomics of managing ASCII strings (#18498) 2023-04-04 06:46:31 -06:00
main.rs refactor(cli): add Emitter struct (#18690) 2023-04-13 18:03:07 +00:00
module_loader.rs refactor(cli): add Emitter struct (#18690) 2023-04-13 18:03:07 +00:00
proc_state.rs refactor(cli): add Emitter struct (#18690) 2023-04-13 18:03:07 +00:00
README.md docs(cli): do not need gen doc for cli (#17260) 2023-01-04 13:19:58 +01:00
resolver.rs refactor: upgrade to deno_npm 0.3.0 (#18671) 2023-04-13 10:47:45 -04:00
standalone.rs refactor: ProcState::build -> ProcState::from_flags (#18672) 2023-04-12 14:54:28 -04:00
version.rs refactor: make version and user_agent &'static str (#18400) 2023-03-23 23:27:58 +01:00
worker.rs refactor(cli): move runTests() and runBenchmarks() to rust (#18563) 2023-04-13 19:43:23 +02:00

Deno CLI Crate

crates

This provides the actual deno executable and the user-facing APIs.

The deno crate uses the deno_core to provide the executable.