summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2021-10-27chore: update to rusty_v8 0.33.0 (#12564)Luca Casonato
2021-10-25chore: bump crate version for 1.15.3 (#12531)Yoshiya Hinosawa
2021-10-24cleanup(core): AsyncOpIterator (#11860)Aaron O'Mullan
2021-10-24fix(core): avoid op_state.borrow_mut() for OpsTracker (#12525)Aaron O'Mullan
By allowing interior mutability in OpsTracker (owning a RefCell<Vec> instead of just a Vec) Fixes #12453
2021-10-20feat(serde_v8): allow all values to deserialize to unit type (#12504)Aaron O'Mullan
2021-10-20feat(serde_v8): StringOrBuffer (#12503)Aaron O'Mullan
2021-10-19fix(core/bindings): use is_instance_of_error() instead of is_native_error() ↵Nayeem Rahman
(#12479)
2021-10-18chore: release crates for v1.15.2 (#12478)Bartek Iwańczuk
2021-10-17fix(core): poll async ops eagerly (#12385)Bert Belder
Currently all async ops are polled lazily, which means that op initialization code is postponed until control is yielded to the event loop. This has some weird consequences, e.g. ```js let listener = Deno.listen(...); let conn_promise = listener.accept(); listener.close(); // `BadResource` is thrown. A reasonable error would be `Interrupted`. let conn = await conn_promise; ``` JavaScript promises are expected to be eagerly evaluated. This patch makes ops actually do that.
2021-10-17fix(core): avoid polling future after cancellation (#12385)Bert Belder
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>