| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-10-20 | chore: upgrade rusty_v8 to 0.54.0 (#16368) | Bartek Iwańczuk | |
| <!-- Before submitting a PR, please read http://deno.land/manual/contributing 1. Give the PR a descriptive title. Examples of good title: - fix(std/http): Fix race condition in server - docs(console): Update docstrings - feat(doc): Handle nested reexports Examples of bad title: - fix #7123 - update docs - fix bugs 2. Ensure there is a related issue and it is referenced in the PR text. 3. Ensure there are tests that cover the changes. 4. Ensure `cargo test` passes. 5. Ensure `./tools/format.js` passes without changing files. 6. Ensure `./tools/lint.js` passes. --> | |||
| 2022-10-20 | feat(ext/ffi): Make op_ffi_ptr_of fast (#16297) | Aapo Alasuutari | |
| Makes `op_ffi_ptr_of` fast. One of the tests changed from printing `false` to `true` as the fast `&[u8]` slice path creates the slice with a null pointer. Thus the `op_ffi_ptr_of` will now return a null pointer value whereas previously it returned a dangling pointer value. | |||
| 2022-10-20 | perf(ext/ffi): Fast UnsafePointerView read functions (#16351) | Aapo Alasuutari | |
| This PR makes pointer read methods of `Deno.UnsafePointerView` Fast API compliant, with the exception of `getCString` which cannot be made fast with current V8 Fast API. | |||
| 2022-10-15 | fix(ext/ffi): Fix UnsafeCallback ref'ing making Deno enter a live-loop (#16216) | Aapo Alasuutari | |
| Fixes #15136 Currently `UnsafeCallback` class' `ref()` and `unref()` methods rely on the `event_loop_middleware` implementation in core. If even a single `UnsafeCallback` is ref'ed, then the FFI event loop middleware will always return `true` to signify that there may still be more work for the event loop to do. The middleware handling in core does not wait a moment to check again, but will instead synchronously directly re-poll the event loop and middlewares for more work. This becomes a live-loop. This PR introduces a `Future` implementation for the `CallbackInfo` struct that acts as the intermediary data storage between an `UnsafeCallback` and the `libffi` C callback. Ref'ing a callback now means calling an async op that binds to the `CallbackInfo` Future and only resolves once the callback is unref'ed. The `libffi` C callback will call the waker of this Future when it fires to make sure that the main thread wakes up to receive the callback. | |||
| 2022-10-13 | fix(ext/ffi): Invalid 'function' return type check logic, remove U32x2 as ↵ | Aapo Alasuutari | |
| unnecessary (#16259) The return type checking for `"function"` type FFI values was incorrect and presumed that functions were still being registered as objects containing a "function" key. While here, I also removed the whole return type checking logic as it was needed for optionally creating BigInts on return when needed, but serde_v8 does this automatically now (I think). | |||
| 2022-10-07 | fix(ext/ffi): Fix usize and isize FFI callback parameters missing match arm ↵ | Aapo Alasuutari | |
| (#16172) Mea culpa. Back when I re-introduced parameter and return value types to FFI callbacks I failed to properly account for the change in match arm logic. As a result, usize and isize parameters in FFI callbacks currently enter the branch meant for void only. This PR changes the match arms to all be explicit, making sure that void is the only arm marked unreachable and that it stays that way. | |||
| 2022-09-07 | perf(ops): inline &[u8] arguments and enable fast API (#15731) | Divy Srivastava | |
| 2022-09-07 | feat(ext/ffi): Implement FFI fast-call trampoline with Dynasmrt (#15305) | Arnau Orriols | |
| 2022-09-05 | feat(ext/ffi): Support bool FFI type (#15754) | Aapo Alasuutari | |
| 2022-08-23 | BREAKING(ext/ffi): specialized `buffer` type (#15518) | Divy Srivastava | |
| 2022-08-21 | chore: use Rust 1.63.0 (#15464) | Mathias Lafeldt | |
| 2022-08-10 | fix(ext/ffi): unstable op_ffi_unsafe_callback_ref (#15439) | Luca Casonato | |
| 2022-08-05 | fix(ext/ffi): Check CStr for UTF-8 validity on read (#15318) | Aapo Alasuutari | |
| Co-authored-by: Phosra <phosra@tutanota.com> | |||
| 2022-07-28 | perf(ext/ffi): use fast api calls for 64bit return types (#15313) | Divy Srivastava | |
| 2022-07-27 | perf(ext/ffi): support Uint8Array in fast calls (#15319) | Divy Srivastava | |
| 2022-07-27 | chore(ext/ffi): Remove unnecessary byte_offset conditional slicing (#15320) | Aapo Alasuutari | |
| 2022-07-24 | chore(ext/ffi): remove dependency on stdint.h (#15294) | Divy Srivastava | |
| 2022-07-24 | feat(ext/ffi): Safe number pointers (#15173) | Aapo Alasuutari | |
| 2022-07-23 | feat(ext/ffi): Add support to get ArrayBuffers from UnsafePointerView (#15143) | Aapo Alasuutari | |
| 2022-07-22 | perf(ext/ffi): Optimise common pointer related APIs (#15144) | Aapo Alasuutari | |
| 2022-07-19 | chore: upgrade rusty_v8 to 0.47.0 (#15247) | Bartek Iwańczuk | |
| 2022-07-15 | chore: fix Windows specific clippy errors (#15212) | David Sherret | |
| 2022-07-12 | fix(ext/ffi): i64 arg to C mapping was wrong (#15162) | Aapo Alasuutari | |
| 2022-07-12 | feat(ext/ffi): Support 64 bit parameters in Fast API calls (#15140) | Aapo Alasuutari | |
| Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com> | |||
| 2022-07-12 | fix(ext/ffi): trampoline for fast calls (#15139) | Divy Srivastava | |
| 2022-07-09 | fix(ext/ffi): allow opting out of fast ffi calls (#15131) | Divy Srivastava | |
| 2022-07-08 | perf(ext/ffi): leverage V8 Fast Calls (#15125) | Divy Srivastava | |
| 2022-07-01 | chore: use Rust 1.62.0 (#15028) | Bartek Iwańczuk | |
| 2022-06-29 | fix(ext/ffi): Empty buffers error with index out of bounds on FFI (#14997) | Aapo Alasuutari | |
| 2022-06-29 | perf(ext/ffi): optimize synchronous calls (#14945) | Divy Srivastava | |
| 2022-06-28 | feat(ext/ffi): Thread safe callbacks (#14942) | Aapo Alasuutari | |
| 2022-06-26 | build: require safety comments on unsafe code (#13870) | Luca Casonato | |
| Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com> | |||
| 2022-06-23 | chore(ext/ffi): Improve FFI static handling (#14924) | Aapo Alasuutari | |
| 2022-06-21 | perf(ext/ffi): Optimize FFI Rust side type checks (#14923) | Aapo Alasuutari | |
| 2022-06-21 | chore(ext/ffi): simplify FFI types (#14920) | Aapo Alasuutari | |
| This commit simplifies the TypeScript types used for interacting with Deno FFI. The basis is that types are now first grouped into logical wholes, NativeNumberType, NativeBigIntType etc. These wholes are combined into the NativeType and NativeResultType general types. Additionally, this PR removes the { function: { parameters: [], result: "void" } } type declaration from parameters (and result types. Now functions are merely passed and returned as "function". | |||
| 2022-06-20 | feat(ext/ffi): Callbacks (#14663) | Aapo Alasuutari | |
| This commit adds support for unstable FFI callbacks. A callback is registered using the `Deno.UnsafeCallback` API. The backing memory for the callback can be disposed of using `Deno.UnsafeCallback#close`. It is not safe to pass the callback after calling close. Callbacks from other than the isolate thread are not supported. Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com> Co-authored-by: Bert Belder <bertbelder@gmail.com> | |||
| 2022-06-08 | feat(ext/ffi): support passing and returning bigints (#14523) | Elias Sjögreen | |
| 2022-03-25 | fix(ext/ffi): enforce unstable check on ops (#14115) | Luca Casonato | |
| 2022-03-16 | feat(ops): optional OpState (#13954) | 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> | |||
| 2022-02-18 | feat(ext/ffi): Support read only global statics (#13662) | Aapo Alasuutari | |
| 2022-01-20 | fix(ext/ffi): update copyright year to 2022 (#13440) | Divy Srivastava | |
| 2022-01-15 | chore: upgrade to rust 1.58 (#13377) | David Sherret | |
| 2022-01-12 | feat(ext/ffi): UnsafeFnPointer API (#13340) | DjDeveloper | |
| 2022-01-11 | feat(ext/ffi): support alias names for symbol definitions (#13090) | DjDeveloper | |
| 2022-01-05 | fix(ext/ffi): throw errors instead of panic (#13283) | DjDeveloper | |
| 2021-12-17 | fix(ext/ffi): use `c_char` instead of `i8` for reading strings (#13118) | Luke Channings | |
| 2021-12-15 | feat(ext/ffi): implement UnsafePointer and UnsafePointerView (#12828) | Elias Sjögreen | |
| 2021-11-02 | chore: update to Rust edition 2021 (#12578) | Bartek Iwańczuk | |
