summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2021-04-23refactor(core): rename send() to opcall() (#10307)Aaron O'Mullan
I think it's a better fit since recv() was killed and opcall <> syscall (send/recv was too reminiscent of request/response and custom payloads)
2021-04-23chore: release crates (#10327)Luca Casonato
Release crates for the cli 1.9.2 release.
2021-04-23chore: remove dead code (#10321)Ryan Dahl
2021-04-21refactor(core): simplify error handling (#10297)Aaron O'Mullan
- register builtin v8 errors in core.js so consumers don't have to - remove complexity of error args handling (consumers must provide a constructor with custom args, core simply provides msg arg)
2021-04-21refactor(core): kill recv() and init() (#10299)Aaron O'Mullan
`init()` was previously needed to init the shared queue, but now that it's gone `init()` only registers the async msg handler which is snapshot safe and constant since the op layer refactor.
2021-04-21chore: release crates (#10269)Bartek Iwańczuk
* Revert "tooling(bench_util): benching and profiling utilities (#10223)" This reverts commit 733a00030582375c43fa156e978f25df6ecc9e9a. * Upgrade notify
2021-04-20chore: update copyright headers (#10243)Yoshiya Hinosawa
2021-04-19refactor(core): move SerializablePkg to serde_v8 (#10231)Aaron O'Mullan
2021-04-18cleanup(core): simplify op_async(), drop need for try_dispatch_op() (#10240)Aaron O'Mullan
2021-04-18tooling(bench_util): benching and profiling utilities (#10223)Aaron O'Mullan
2021-04-18refactor(core): remove ZeroCopyBuf's dep on the bindings mod (#10232)Aaron O'Mullan
Also cleanup `bindings::deserialize()/decode()` so they use the `ZeroCopyBuf` abstraction rather than reimplementing it. This cleanup will facilitate moving `ZeroCopyBuf` to `serde_v8` since it's now self contained and there are no other `get_backing_store_slice()` callers.
2021-04-14fix(core): better "missing type" GothamState error (#10189)Ben Noordhuis
Include the type name in the error message so you know what to look for.
2021-04-13chore: release crates (#10164)Bartek Iwańczuk
2021-04-13fix(core): remove wasm-test-streaming flag (#10158)Casper Beyer
2021-04-13upgrade: rusty_v8 0.22.1 (V8 9.1.269.5) (#10159)Bert Belder
2021-04-13upgrade: rusty_v8 0.22.0 (V8 9.1.269.2) (#10152)Bert Belder
2021-04-12perf(core/ops): avoid allocs when returning primitives (#10149)Aaron O'Mullan
2021-04-12core: remove some unnecessary heap allocationsBen Noordhuis
2021-04-12core: let embedders plug in their own V8 platformBen Noordhuis
Fixes #9912.
2021-04-12refactor(deno): remove concept of bin & json ops (#10145)Aaron O'Mullan
2021-04-12feat: Add Deno.memoryUsage() (#9986)Aaron O'Mullan
2021-04-11core: avoid async op future reboxing to bundle PromiseId (#10123)Aaron O'Mullan
2021-04-09perf: use BTreeMap for ResourceTable (#10074)Aaron O'Mullan
2021-04-09perf(core): use BTreeMap for GothamState (#10073)Aaron O'Mullan
This commit replaces GothamState's internal HashMap with a BTreeMap to improve performance. OpState/GothamState keys by TypeId which is essentially an opaque u64. For small sets of integer keys BTreeMap outperforms HashMap mainly since it removes the hashing overhead and Eq/Comp on integer-like types is very cheap, it should also have a smaller memory footprint. We only use ~30 unique types and thus ~30 unique keys to access OpState, so the keyset is small and immutable throughout the life of a JsRuntime, there's no meaningful churn in keys added/removed.
2021-04-09fix: async op error stacktraces (#10080)Nayeem Rahman
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2021-04-08chore: update deps (#10058)Luca Casonato
This commit updates crate dependencies.
2021-04-08fix(core): error handling in examples (#9867)Inteon
2021-04-07perf(core.js): introduce promise ring (#9979)Aaron O'Mullan
This is another optimization to help improve the baseline overhead of async ops. It shaves off ~55ns/op or ~7% of the current total async op overhead. It achieves these gains by taking advantage of the sequential nature of promise IDs and optimistically stores them sequentially in a pre-allocated circular buffer and fallbacks to the promise Map for slow to resolve promises.
2021-04-05core: remove serde_json-isms in op_close() and op_resources() (#10026)Aaron O'Mullan
Core no longer uses `serde_json` now, besides re-exporting it or in the module specifier tests
2021-04-04fix: Properly await already evaluating dynamic imports (#9984)Nayeem Rahman
2021-04-04perf(serde_v8): introduce Serializable boxable object (#9983)Aaron O'Mullan
2021-04-03refactor: don't call Context::Global in async_op_response (#9971)Ryan Dahl
2021-04-02core/op_baseline: drop BufVec and minor cleanup (#9969)Aaron O'Mullan
2021-04-02perf: bench async op baseline (#9954)Aaron O'Mullan
2021-04-02refactor(ops): remove variadic buffers (#9944)Aaron O'Mullan
2021-04-02chore: bump dependent crates for cli (#9964)Kitson Kelly
2021-04-01perf(core): js errors as unions vs tuples to reduce allocs (#9947)Aaron O'Mullan
2021-03-31refactor: new optimized op-layer using serde_v8 (#9843)Aaron O'Mullan
- Improves op performance. - Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs per op-encoding (aka: out-of-payload). - Remove shared queue & custom "asyncHandlers", all async values are returned in batches via js_recv_cb. - The op-layer should be thought of as simple function calls with little indirection or translation besides the conceptually straightforward serde_v8 bijections. - Preserve concepts of json/bin/min as semantic groups of their inputs/outputs instead of their op-encoding strategy, preserving these groups will also facilitate partial transitions over to v8 Fast API for the "min" and "bin" groups
2021-03-30perf: add op_baseline bench (#9924)Aaron O'Mullan
2021-03-27refactor(core): decode JsStackFrames using serde_v8 (#9902)Aaron O'Mullan
2021-03-26remove macro_use (#9884)Ryan Dahl
2021-03-26refactor(core): simplify heapStats() by using serde_v8 (#9901)Aaron O'Mullan
2021-03-26chore: publish serde_v8, bump version (#9898)Ryan Dahl
2021-03-25Introduce serde_v8 (#9722)Aaron O'Mullan
2021-03-25upgrade: Rust 1.51.0 (#9895)Yusuke Tanaka
2021-03-25feat(lsp): add import completions (#9821)Kitson Kelly
2021-03-23feat(core): Deno.core.heapStats() (#9659)Aaron O'Mullan
This commit implements "Deno.core.heapStats()" function that allows to programatically measure isolate heap-usage.
2021-03-21chore: release crates (#9847)Bartek Iwańczuk
2021-03-21fix(core): don't panic on invalid arguments for Deno.core.print (#9834)Andrew Mitchell
2021-03-20refactor: Move bin ops to deno_core and unify logic with json ops (#9457)Inteon
This commit moves implementation of bin ops to "deno_core" crates as well as unifying logic between bin ops and json ops to reuse as much code as possible (both in Rust and JavaScript).