summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2021-10-12chore: bump crate version for 1.15.0 (#12406)Satya Rohith
2021-10-12feat: update to V8 9.5 (#12399)Luca Casonato
2021-10-10refactor(metrics): move to core (#12386)Aaron O'Mullan
Avoids overhead of wrapping ops (and allocs when inspecting async-op futures)
2021-10-10bench(deno_common): track void ops (#12389)Aaron O'Mullan
To track overhead through the entire CLI opcall stack (metrics included, etc...)
2021-10-10feat: Show the URL of streaming WASM modules in stack traces (#12268)Andreu Botella
WebAssembly modules compiled through `WebAssembly.compile()` and similar non-streaming APIs don't have a URL associated to them, because they have been compiled from a buffer source. In stack traces, V8 will use a URL such as `wasm://wasm/d1c677ea`, with a hash of the module. However, wasm modules compiled through streaming APIs, like `WebAssembly.compileStreaming()`, do have a known URL, which can be obtained from the `Response` object passed into the streaming APIs. And as per the developer-facing display conventions in the WebAssembly Web API spec, this URL should be used in stack traces. This change implements that.
2021-10-07feat(core): cleaner opcall stack traces (#12358)Aaron O'Mullan
2021-10-05feat(core): native binding names (#12290)Aaron O'Mullan
Makes native builtin functions easier to recognize when debugging/profiling, they would otherwise appear as "(anonymous)" functions
2021-10-05chore: various op cleanup (#12329)Leo K
2021-10-05chore: merge v1.14.3 into main (#12327)Bartek Iwańczuk
2021-10-04refactor(core): split opcall into sync/async (#12312)Aaron O'Mullan
2021-10-04fix(core/runtime): sync_ops_cache if nuked Deno ns (#12302)Aaron O'Mullan
Decouple JsRuntime::sync_ops_cache() from the availability of the Deno.* namespace in the global scope This avoids crashes when calling sync_ops_cache() on a bootstrapped WebWorker who has dropped its Deno.* namespace It's also just cleaner and more robust ...
2021-10-03perf(core): use opcall() directly (#12310)Aaron O'Mullan
Instead of the wrapper dispatch() func, also now forbids passing opIds to opSync()/opAsync() callers must always pass names
2021-10-01feat(core): implement Deno.core.isProxy() (#12288)Aaron O'Mullan
2021-09-30fix: Don't panic when a worker is closed in the reactions to a wasm ↵Andreu Botella
operation. (#12270)
2021-09-29feat: support serializing `WebAssembly.Module` objects (#12140)Andreu Botella
2021-09-28chore: bump crate versions for 1.14.2 (#12253)Aaron O'Mullan
2021-09-25refactor: Remove unused code (#12210)Ryan Dahl
2021-09-24refactor: Remove op_state parameter (#12202)Ryan Dahl
2021-09-22upgrade serde_v8 and rusty_v8 (#12175)Ryan Dahl
* upgrade serde_v8 and rusty_v8 * rusty_v8 0.30.0 * cycle keys
2021-09-22chore: bump crate versions for 1.14.1 (#12172)Kitson Kelly
2021-09-18fix(cli/fmt_errors): Abbreviate long data URLs in stack traces (#12127)Nayeem Rahman
Co-authored-by: Mike White <mike.white@auctane.com>
2021-09-18fix(core): prevent multiple main module loading (#12128)Bartek Iwańczuk
This commit fixes a problem where loading and executing multiple modules leads to all of the having "import.meta.main" set to true. Following Rust APIs were deprecated: - deno_core::JsRuntime::load_module - deno_runtime::Worker::execute_module - deno_runtime::WebWorker::execute_module Following Rust APIs were added: - deno_core::JsRuntime::load_main_module - deno_core::JsRuntime::load_side_module - deno_runtime::Worker::execute_main_module - deno_runtime::Worker::execute_side_module - deno_runtime::WebWorker::execute_main_module Trying to load multiple "main" modules into the runtime now results in an error. If user needs to load additional "non-main" modules they should use APIs for "side" module.
2021-09-17chore: Remove unused deps from Cargo.toml files (#12106)Squirrel
2021-09-16chore: update tagline (#12095)Satya Rohith
2021-09-14chore: bump crate versions for 0.14 (#12072)David Sherret
2021-09-13chore: update rusty_v8 (#12026)Luca Casonato
2021-09-13refactor(core): Turn the `wasm_streaming_feed` binding into ops (#11985)Andreu Botella
Async WebAssembly compilation was implemented by adding two bindings: `set_wasm_streaming_callback`, which registered a callback to be called whenever a streaming wasm compilation was started, and `wasm_streaming_feed`, which let the JS callback modify the state of the v8 wasm compiler. `set_wasm_streaming_callback` cannot currently be implemented as anything other than a binding, but `wasm_streaming_feed` does not really need to use anything specific to bindings, and could indeed be implemented as one or more ops. This PR does that, resulting in a simplification of the relevant code. There are three operations on the state of the v8 wasm compiler that `wasm_streaming_feed` allowed: feeding new bytes into the compiler, letting it know that there are no more bytes coming from the network, and aborting the compilation. This PR provides `op_wasm_streaming_feed` to feed new bytes into the compiler, and `op_wasm_streaming_abort` to abort the compilation. It doesn't provide an op to let v8 know that the response is finished, but closing the resource with `Deno.core.close()` will achieve that.
2021-09-11refactor: use Deno.core.tryClose (#11980)Bartek Iwańczuk
2021-09-10perf(ext/http): optimize auto cleanup of request resource (#11978)Bert Belder
Fixes #11963.
2021-09-06fix(ext/web): Format terminal DOMExceptions properly (#11834)Nayeem Rahman
2021-09-05fix(doc): fix rustdoc bare_urls warning (#11921)Feng Yu
2021-09-04feat(cli): close test worker once all tests complete (#11727)Casper Beyer
2021-09-02feat(fmt): add basic JS doc formatting (#11902)David Sherret
2021-09-02chore: update dependencies (#11856)Luca Casonato
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-08-31feat(core): facilitate op-disabling middleware (#11858)Aaron O'Mullan
* feat(core): facilitate op-disabling middleware By providing `void_op_sync()` and `void_op_async() as well as `core/examples/disable_ops.rs`
2021-08-30chore: update to rusty_v8 0.27.0 (#11877)Luca Casonato
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-08-25feat: ArrayBuffer in structured clone transfer (#11840)Luca Casonato
2021-08-25refactor: cleanup Inspector and InspectorServer implementations (#11837)Bartek Iwańczuk
2021-08-23chore: release crates for 1.13.2 (#11820)David Sherret
2021-08-23fix(ext/ffi): don't panic on invalid enum values (#11815)Luca Casonato
Co-authored-by: Feng Yu <f3n67u@gmail.com>
2021-08-19cleanup(core): rename handleAsyncMsgFromRust() to opresolve() (#11774)Aaron O'Mullan
No user impact, but is simpler and aligns with `opcall()`
2021-08-17chore: add `FinalizationRegistry` and `WeakRef` to primordials (#11735)Antoine du Hamel
Because it was possible to disable those with a runtime flag, they were not available through primordials. The flag has since been removed upstream. Refs: https://github.com/v8/v8/commit/d59db06bf5425ddb388fb5a576f4bf39bdcc0f8f
2021-08-16chore: release crates for 1.13.1 (#11729)David Sherret
2021-08-15refactor(ops): return BadResource errors in ResourceTable calls (#11710)Aaron O'Mullan
* refactor(ops): return BadResource errors in ResourceTable calls Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ...
2021-08-10chore: release crates (#11628)Bartek Iwańczuk
2021-08-10upgrade: rusty_v8 0.26.0 (#11625)Bartek Iwańczuk
2021-08-09feat(extensions/web): add structuredClone function (#11572)Leo K
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-02chore: format toml files internally (#11563)David Sherret
2021-07-30chore: upgrade Rust to 1.54.0 (#11554)Yusuke Tanaka
2021-07-30chore(core): use oneshot channel in mod_evaluate() (#11556)Ben Noordhuis
Oneshot is more appropriate because mod_evaluate() only sends a single value. It also makes it easier to use it correctly. As an embedder, I wasn't sure if I'm expected to drain the channel or not.