Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-09-05 | fix(ops): use qualified borrow in op macro (#15769) | sigmaSd | |
Fix https://github.com/denoland/deno/issues/15764 Use RefCell::borrow instead of state.borrow to avoid clash with std::borrow::Borrow | |||
2022-09-01 | feat(ops): support `v8::FastApiCallbackOptions` (#15721) | Divy Srivastava | |
2022-08-30 | perf: use fast api for `core.isProxy` (#15682) | Divy Srivastava | |
2022-08-30 | perf(ops): inline String args (#15681) | Divy Srivastava | |
2022-08-28 | perf: use fast api for op_now (#15643) | Divy Srivastava | |
2022-08-21 | feat(ops): V8 Fast Calls (#15291) | Divy Srivastava | |
2022-08-11 | refactor(core): unwrap sync ops in rust (#15449) | Nayeem Rahman | |
2022-08-10 | feat(core): Add support for async ops in realms (#14734) | Andreu Botella | |
Pull request #14019 enabled initial support for realms, but it did not include support for async ops anywhere other than the main realm. The main issue was that the `js_recv_cb` callback, which resolves promises corresponding to async ops, was only set for the main realm, so async ops in other realms would never resolve. Furthermore, promise ID's are specific to each realm, which meant that async ops from other realms would result in a wrong promise from the main realm being resolved. This change creates a `ContextState` struct, similar to `JsRuntimeState` but stored in a slot of each `v8::Context`, which contains a `js_recv_cb` callback for each realm. Combined with a new list of known realms, which stores them as `v8::Weak<v8::Context>`, and a change in the `#[op]` macro to pass the current context to `queue_async_op`, this makes it possible to send the results of promises for different realms to their realm, and prevent the ID's from getting mixed up. Additionally, since promise ID's are no longer unique to the isolate, having a single set of unrefed ops doesn't work. This change therefore also moves `unrefed_ops` from `JsRuntimeState` to `ContextState`, and adds the lengths of the unrefed op sets for all known realms to get the total number of unrefed ops to compare in the event loop. Co-authored-by: Luis Malheiro <luismalheiro@gmail.com> | |||
2022-07-22 | Revert "feat(ops): V8 Fast Calls (#15122)" (#15276) | Divy Srivastava | |
This reverts commit 03dc3b8972f460e40d0b75fc3207cae9fe4f60da. | |||
2022-07-22 | feat(ops): V8 Fast Calls (#15122) | Divy Srivastava | |
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> | |||
2022-07-01 | perf(ops): fast path for SMI return values (#15033) | Divy Srivastava | |
2022-07-01 | fix(core): remove unsafe in OpsTracker (#15025) | Nugine | |
2022-06-16 | cleanup(ops): match variations with regexes (#14888) | Aaron O'Mullan | |
2022-06-16 | feat(ops): support `Result<impl Future<Output = Result<T, AnyError>> + ↵ | Divy Srivastava | |
'static, AnyError>` (#14869) feat(ops): support a result returning a future returning a result | |||
2022-06-08 | feat(ops): 'hybrid' ops - sync returning future (#14640) | Divy Srivastava | |
2022-06-07 | refactor(core): Move Deno.core bindings to ops (#14793) | Nayeem Rahman | |
2022-06-02 | chore(ops): fix typo in lib.rs (#14777) | Ikko Ashimine | |
2022-05-12 | cleanup(ops): shorter codegen'd infallible sync ops return (#14587) | Aapo Alasuutari | |
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com> | |||
2022-05-12 | cleanup(ops): simpler is_unit_result() (#14586) | Aaron O'Mullan | |
Rough token-string matching is robust enough and much easier to grok | |||
2022-05-12 | feat(ops): infallible / result-free ops (#14585) | Aaron O'Mullan | |
2022-05-12 | feat(ops): #[op(v8)] (#14582) | Aaron O'Mullan | |
2022-05-12 | feat(ops): allow passing scope handle to ops (#14574) | Divy Srivastava | |
2022-05-05 | feat(ops): sync Rc<RefCell<OpState>> (#14438) | Aaron O'Mullan | |
2022-04-23 | chore(ext/fetch): custom arity (#14198) | Divy Srivastava | |
2022-04-08 | refactor(core): OpCtx (#14228) | Aaron O'Mullan | |
2022-04-02 | feat(ops): #[op(unstable)] (#14124) | Aaron O'Mullan | |
2022-03-22 | feat(core): disableable extensions & ops (#14063) | Aaron O'Mullan | |
Streamlines a common middleware pattern and provides foundations for avoiding variably sized v8::ExternalReferences & enabling fully monomorphic op callpaths | |||
2022-03-19 | chore(ops): hide implementation details from rustdoc (#14038) | Divy Srivastava | |
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com> | |||
2022-03-19 | fix(ops): throw TypeError on op return failure (#14033) | Aaron O'Mullan | |
Fixes #14028 | |||
2022-03-18 | chore(ops): include argument position in serde_v8 errors (#14027) | Divy Srivastava | |
2022-03-16 | feat(ops): optional OpState (#13954) | Aaron O'Mullan | |
2022-03-15 | cleanup(core): OpPair => OpDecl (#13952) | Aaron O'Mullan | |
2022-03-14 | feat(ops): custom arity (#13949) | Aaron O'Mullan | |
Also cleanup & drop ignored wildcard op-args | |||
2022-03-14 | feat(core): codegen ops (#13861) | Divy Srivastava | |
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com> |