summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
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.
2021-07-26chore: release crates (#11519)Bartek Iwańczuk
2021-07-26refactor: use `primordials` in runtime, extensions and core (#11500)Yusuke Tanaka
2021-07-19chore: release crates (#11454)Bartek Iwańczuk
2021-07-13chore: release crates (#11378)Bartek Iwańczuk
2021-07-12chore: upgrade rusty_v8 (#11372)Bartek Iwańczuk
2021-07-09chore: update crates (#11332)Luca Casonato
2021-07-08feat(core): return v8::Value from JsRuntime::execute_script (#11129)Bartek Iwańczuk
This commit changes return type of JsRuntime::execute_script to include v8::Value returned from evaluation. When embedding deno_core it is sometimes useful to be able to inspect script evaluation value without the hoops of adding ops to store the value on the OpState. v8::Global<v8::Value> is used so consumers don't have to pass scope themselves.
2021-07-08perf(core): avoid extra alloc in Deno.core.encode() (#11323)Aaron O'Mullan
2021-07-06chore: use parking_lot for synchronization primitives to align with tokio ↵David Sherret
(#11289) parking_lot is already transitively used in tokio via the "full" cargo feature
2021-07-06feat: support SharedArrayBuffer sharing between workers (#11040)Luca Casonato
This commit adds support for sharing SABs between workers.
2021-07-06refactor: use primordials in extensions/web (#11273)Bartek Iwańczuk
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2021-07-05fix(core): Delay deadlock detection for dynamic imports (#11282)Nayeem Rahman
2021-07-05chore: upgrade Tokio to 1.8.0 (#11281)Yusuke Tanaka
2021-07-05refactor: introduce primordials for web/streams (#11251)Luca Casonato
2021-07-03feat: enable WebAssembly.instantiateStreaming and wasm async compilation ↵Andreu Botella
(#11200) The WebAssembly streaming APIs used to be enabled, but used to take buffer sources as their first argument (see #6154 and #7259). This change re-enables them, requiring a Promise<Response> instead, as well as enabling asynchronous compilation of WebAssembly modules.
2021-07-03chore: add TypedArray to primordials typings (#11236)Luca Casonato
2021-07-02chore: upgrade rusty_v8 and serde_v8 (#11233)Bartek Iwańczuk
2021-07-02refactor: use primordials for extensions/webidl (#11227)Luca Casonato
2021-07-02refactor: introduce primordials (#10939)Luca Casonato
This commit introduces primordials to deno_core. Primordials are a frozen set of all intrinsic objects in the runtime. They are not vulnerable to prototype pollution.
2021-07-02feat(core): pump V8 message loop on event loop tick (#11221)Bartek Iwańczuk
This commit adds support for Atomics and FinalizationRegistry by integrating V8's message loop into "JsRuntime::poll_event_loop".
2021-07-02chore: upgrade rusty_v8 and serde_v8 (#11216)Bartek Iwańczuk
2021-06-29fix(core/modules): Fix concurrent loading of dynamic imports (#11089)Nayeem Rahman
This commit changes implementation of module loading in "deno_core" to track all currently fetched modules across all existing module loads. In effect a bug that caused concurrent dynamic imports referencing the same module to fail is fixed.
2021-06-29feat: Add "deno_net" extension (#11150)Bartek Iwańczuk
This commits moves implementation of net related APIs available on "Deno" namespace to "deno_net" extension. Following APIs were moved: - Deno.listen() - Deno.connect() - Deno.listenTls() - Deno.serveHttp() - Deno.shutdown() - Deno.resolveDns() - Deno.listenDatagram() - Deno.startTls() - Deno.Conn - Deno.Listener - Deno.DatagramConn
2021-06-28chore: release deno_core (#11164)Bartek Iwańczuk
2021-06-27feat(inspector): pipe console messages between terminal and inspector (#11134)Bartek Iwańczuk
This commit adds support for piping console messages to inspector. This is done by "wrapping" Deno's console implementation with default console provided by V8 by the means of "Deno.core.callConsole" binding. Effectively each call to "console.*" methods calls a method on Deno's console and V8's console.