1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-25 00:29:09 -05:00
denoland-deno/cli/tools
Bartek Iwańczuk 220a7d544a
refactor(core): use JoinSet instead of FuturesUnordered (#19378)
This commit migrates "deno_core" from using "FuturesUnordered" to
"tokio::task::JoinSet". This makes every op to be a separate Tokio task
and should unlock better utilization of kqueue/epoll.

There were two quirks added to this PR:
- because of the fact that "JoinSet" immediately polls spawn tasks,
op sanitizers can give false positives in some cases, this was
alleviated by polling event loop once before running a test with 
"deno test", which gives canceled ops an opportunity to settle
- "JsRuntimeState::waker" was moved to "OpState::waker" so that FFI
API can still use threadsafe functions - without this change the
registered wakers were wrong as they would not wake up the 
whole "JsRuntime" but the task associated with an op

---------

Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-06-09 01:13:25 +02:00
..
coverage refactor(cli): remove ProcState - add CliFactory (#18900) 2023-05-01 14:35:23 -04:00
init refactor(init): remove CURRENT_STD_URL (#18375) 2023-03-23 03:11:18 +00:00
repl fix(repl): correctly print string exception (#19391) 2023-06-09 01:13:24 +02:00
vendor perf(cli): conditionally load typescript declaration files (#19392) 2023-06-09 01:13:24 +02:00
bench.rs refactor: helpers methods on TypeCheckMode (#19393) 2023-06-09 01:13:25 +02:00
bundle.rs refactor: helpers methods on TypeCheckMode (#19393) 2023-06-09 01:13:25 +02:00
check.rs refactor(cli): remove ProcState - add CliFactory (#18900) 2023-05-01 14:35:23 -04:00
compile.rs refactor: helpers methods on TypeCheckMode (#19393) 2023-06-09 01:13:25 +02:00
doc.rs perf(cli): conditionally load typescript declaration files (#19392) 2023-06-09 01:13:24 +02:00
fmt.rs refactor(core): bake single-thread assumptions into spawn/spawn_blocking (#19056) 2023-05-14 15:40:01 -06:00
info.rs perf(cli): conditionally load typescript declaration files (#19392) 2023-06-09 01:13:24 +02:00
installer.rs perf: lazily create RootCertStore (#18938) 2023-05-01 16:42:05 -04:00
lint.rs refactor(cli): remove ProcState - add CliFactory (#18900) 2023-05-01 14:35:23 -04:00
mod.rs feat(compile): unstable npm and node specifier support (#19005) 2023-05-10 20:06:59 -04:00
run.rs feat: top level package.json install when node_modules dir is explicitly opted into (#19233) 2023-05-23 18:51:48 -04:00
task.rs fix(npm): run pre and post tasks if present (#19178) 2023-05-18 15:51:17 -04:00
test.rs refactor(core): use JoinSet instead of FuturesUnordered (#19378) 2023-06-09 01:13:25 +02:00
upgrade.rs chore: upgrade to Rust 1.70.0 (#19345) 2023-06-09 01:13:23 +02:00