summaryrefslogtreecommitdiff
path: root/ext/ffi
AgeCommit message (Collapse)Author
2022-08-25v1.25.0Bartek Iwańczuk
2022-08-23BREAKING(ext/ffi): specialized `buffer` type (#15518)Divy Srivastava
2022-08-21chore: use Rust 1.63.0 (#15464)Mathias Lafeldt
2022-08-11chore: forward v1.24.3 release commit to main (#15462)denobot
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-08-11perf(ops): Monomorphic sync op calls (#15337)Aapo Alasuutari
Welcome to better optimised op calls! Currently opSync is called with parameters of every type and count. This most definitely makes the call megamorphic. Additionally, it seems that spread params leads to V8 not being able to optimise the calls quite as well (apparently Fast Calls cannot be used with spread params). Monomorphising op calls should lead to some improved performance. Now that unwrapping of sync ops results is done on Rust side, this is pretty simple: ``` opSync("op_foo", param1, param2); // -> turns to ops.op_foo(param1, param2); ``` This means sync op calls are now just directly calling the native binding function. When V8 Fast API Calls are enabled, this will enable those to be called on the optimised path. Monomorphising async ops likely requires using callbacks and is left as an exercise to the reader.
2022-08-10fix(ext/ffi): unstable op_ffi_unsafe_callback_ref (#15439)Luca Casonato
2022-08-08chore(ext/ffi): remove flaky test (#15426)Divy Srivastava
2022-08-05feat(ext/ffi): Add static method variants to Deno.UnsafePointerView (#15146)Aapo Alasuutari
2022-08-05fix(ext/ffi): Check CStr for UTF-8 validity on read (#15318)Aapo Alasuutari
Co-authored-by: Phosra <phosra@tutanota.com>
2022-08-05chore: forward v1.24.2 release commit to main (#15410)denobot
2022-07-29Forward 1.24.1 to main (#15333) (#15336)Colin Ihrig
1.24.1 (#15333) Co-authored-by: cjihrig <cjihrig@users.noreply.github.com>
2022-07-28perf(ext/ffi): use fast api calls for 64bit return types (#15313)Divy Srivastava
2022-07-27perf(ext/ffi): support Uint8Array in fast calls (#15319)Divy Srivastava
2022-07-27chore(ext/ffi): Remove unnecessary byte_offset conditional slicing (#15320)Aapo Alasuutari
2022-07-24chore(ext/ffi): remove dependency on stdint.h (#15294)Divy Srivastava
2022-07-24feat(ext/ffi): Safe number pointers (#15173)Aapo Alasuutari
2022-07-23feat(ext/ffi): Add support to get ArrayBuffers from UnsafePointerView (#15143)Aapo Alasuutari
2022-07-22perf(ext/ffi): Optimise common pointer related APIs (#15144)Aapo Alasuutari
2022-07-211.24.0 (#15262)denobot
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-07-19chore: upgrade rusty_v8 to 0.47.0 (#15247)Bartek Iwańczuk
2022-07-15chore: fix Windows specific clippy errors (#15212)David Sherret
2022-07-14fix(ext/ffi): allow setting a custom lib path for libtcc.a (#15208)Kayla Washburn
2022-07-12chore: forward v1.23.4 release commit to main (#15172)Colin Ihrig
1.23.4 (#15168) Co-authored-by: cjihrig <cjihrig@users.noreply.github.com> Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: cjihrig <cjihrig@users.noreply.github.com>
2022-07-12fix(ext/ffi): i64 arg to C mapping was wrong (#15162)Aapo Alasuutari
2022-07-12feat(ext/ffi): Support 64 bit parameters in Fast API calls (#15140)Aapo Alasuutari
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-07-12fix(ext/ffi): trampoline for fast calls (#15139)Divy Srivastava
2022-07-09fix(ext/ffi): allow opting out of fast ffi calls (#15131)Divy Srivastava
2022-07-09fix(ext/ffi): Avoid keeping JsRuntimeState RefCell borrowed for event loop ↵Aapo Alasuutari
middleware calls (#15116)
2022-07-08perf(ext/ffi): leverage V8 Fast Calls (#15125)Divy Srivastava
2022-07-051.23.3 (#15081)denobot
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-07-01chore: use Rust 1.62.0 (#15028)Bartek Iwańczuk
2022-06-30chore: forward 1.23.2 to main (#15027)David Sherret
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-06-29fix(ext/ffi): Empty buffers error with index out of bounds on FFI (#14997)Aapo Alasuutari
2022-06-29perf(ext/ffi): optimize synchronous calls (#14945)Divy Srivastava
2022-06-28feat(ext/ffi): Thread safe callbacks (#14942)Aapo Alasuutari
2022-06-26build: 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-23v1.23.1 (#14954)Kayla Washburn
1.23.1 (#14952) Co-authored-by: aslilac <aslilac@users.noreply.github.com> Co-authored-by: Kayla Washburn <mckayla@hey.com> Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: aslilac <aslilac@users.noreply.github.com>
2022-06-23chore(ext/ffi): Improve FFI static handling (#14924)Aapo Alasuutari
2022-06-21perf(ext/ffi): Optimize FFI Rust side type checks (#14923)Aapo Alasuutari
2022-06-21chore(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-20BREAKING(ext/ffi): Remove `Deno.UnsafePointer` indirection (#14915)Divy Srivastava
2022-06-20feat(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-151.23.0 (#14878)denobot
* 1.23.0 * docs(Releases.md): update a few items for 1.23 * docs(Releases.md): revert bad formatting Co-authored-by: aslilac <aslilac@users.noreply.github.com> Co-authored-by: McKayla Washburn <mckayla@hey.com>
2022-06-09chore: Forward v1.22.3 to main (#14835)Colin Ihrig
* 1.22.3 (#14832) * chore: pin swc versions to fix cargo publish Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: cjihrig <cjihrig@users.noreply.github.com> Co-authored-by: David Sherret <dsherret@gmail.com>
2022-06-08feat(ext/ffi): support passing and returning bigints (#14523)Elias Sjögreen
2022-06-02chore: Forward v1.22.2 to main (#14785)Bartek Iwańczuk
2022-05-271.22.1Kitson Kelly
Co-authored-by: Kitson Kelly <me@kitsonkelly.com> Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
2022-05-181.22.0 (#14657)denobot
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-05-121.21.3 (#14584)Bert Belder
2022-05-051.21.2 (#14508)Colin Ihrig
1.21.2