Arnau Orriols
8bdc3c2baf
feat(ext/ffi): Implement FFI fast-call trampoline with Dynasmrt ( #15305 )
2022-09-07 12:23:56 +05:30
Aapo Alasuutari
16dbf4adc3
feat(ext/ffi): Support bool FFI type ( #15754 )
2022-09-05 08:56:52 +05:30
denobot
658d2cdff2
chore: forward v1.25.1 release commit to main ( #15735 )
...
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2022-09-02 07:42:47 +02:00
Bartek Iwańczuk
8986e2ced4
v1.25.0
2022-08-25 00:20:07 +02:00
Divy Srivastava
e34260c5b0
BREAKING(ext/ffi): specialized buffer
type ( #15518 )
2022-08-23 09:16:43 +05:30
Mathias Lafeldt
e96933bc16
chore: use Rust 1.63.0 ( #15464 )
2022-08-21 19:31:14 +02:00
denobot
e4a5f9952f
chore: forward v1.24.3 release commit to main ( #15462 )
...
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-08-11 16:47:03 -04:00
Aapo Alasuutari
2164f6b1eb
perf(ops): Monomorphic sync op calls ( #15337 )
...
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-11 15:56:56 +02:00
Luca Casonato
bdd8ddbe4c
fix(ext/ffi): unstable op_ffi_unsafe_callback_ref ( #15439 )
2022-08-10 08:39:45 +05:30
Divy Srivastava
daaa509ee5
chore(ext/ffi): remove flaky test ( #15426 )
2022-08-08 22:45:24 +05:30
Aapo Alasuutari
9c594de0ff
feat(ext/ffi): Add static method variants to Deno.UnsafePointerView ( #15146 )
2022-08-05 21:57:12 +05:30
Aapo Alasuutari
569910856e
fix(ext/ffi): Check CStr for UTF-8 validity on read ( #15318 )
...
Co-authored-by: Phosra <phosra@tutanota.com>
2022-08-05 21:56:54 +05:30
denobot
cf33720a85
chore: forward v1.24.2 release commit to main ( #15410 )
2022-08-05 00:10:47 +02:00
Colin Ihrig
088bc52db0
Forward 1.24.1 to main ( #15333 ) ( #15336 )
...
1.24.1 (#15333 )
Co-authored-by: cjihrig <cjihrig@users.noreply.github.com>
2022-07-29 08:44:46 -04:00
Divy Srivastava
ef7bc2e6cc
perf(ext/ffi): use fast api calls for 64bit return types ( #15313 )
2022-07-28 18:08:22 +05:30
Divy Srivastava
fad8d7d32a
perf(ext/ffi): support Uint8Array in fast calls ( #15319 )
2022-07-27 19:32:21 +05:30
Aapo Alasuutari
8911bdb6d0
chore(ext/ffi): Remove unnecessary byte_offset conditional slicing ( #15320 )
2022-07-27 11:13:30 +05:30
Divy Srivastava
58d1126fa4
chore(ext/ffi): remove dependency on stdint.h ( #15294 )
2022-07-24 18:38:13 +05:30
Aapo Alasuutari
f8fee6cd21
feat(ext/ffi): Safe number pointers ( #15173 )
2022-07-24 16:11:11 +05:30
Aapo Alasuutari
e1cbd2364f
feat(ext/ffi): Add support to get ArrayBuffers from UnsafePointerView ( #15143 )
2022-07-23 22:41:06 +05:30
Aapo Alasuutari
244c00d95b
perf(ext/ffi): Optimise common pointer related APIs ( #15144 )
2022-07-22 16:37:35 +05:30
denobot
f0e01682cc
1.24.0 ( #15262 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-07-21 01:28:00 +02:00
Bartek Iwańczuk
1bdf5a2081
chore: upgrade rusty_v8 to 0.47.0 ( #15247 )
2022-07-19 21:36:15 +02:00
David Sherret
635eed9373
chore: fix Windows specific clippy errors ( #15212 )
2022-07-15 12:30:25 -04:00
Kayla Washburn
91a33c65f3
fix(ext/ffi): allow setting a custom lib path for libtcc.a ( #15208 )
2022-07-14 16:01:07 -06:00
Colin Ihrig
7610764980
chore: forward v1.23.4 release commit to main ( #15172 )
...
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-12 17:08:36 -04:00
Aapo Alasuutari
007e1b4bd5
fix(ext/ffi): i64 arg to C mapping was wrong ( #15162 )
2022-07-12 16:14:54 +05:30
Aapo Alasuutari
d725cb28ca
feat(ext/ffi): Support 64 bit parameters in Fast API calls ( #15140 )
...
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-07-12 08:20:20 +05:30
Divy Srivastava
77d065e034
fix(ext/ffi): trampoline for fast calls ( #15139 )
2022-07-12 06:33:05 +05:30
Divy Srivastava
132c761e87
fix(ext/ffi): allow opting out of fast ffi calls ( #15131 )
2022-07-09 18:41:07 +05:30
Aapo Alasuutari
3da182b0b8
fix(ext/ffi): Avoid keeping JsRuntimeState RefCell borrowed for event loop middleware calls ( #15116 )
2022-07-09 11:49:20 +02:00
Divy Srivastava
20cbd7f0f8
perf(ext/ffi): leverage V8 Fast Calls ( #15125 )
2022-07-08 23:19:09 +05:30
denobot
ef312e0050
1.23.3 ( #15081 )
...
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-07-05 14:24:40 -04:00
Bartek Iwańczuk
b8b82c3ea4
chore: use Rust 1.62.0 ( #15028 )
2022-07-01 15:28:06 +02:00
David Sherret
3d8ba30ea0
chore: forward 1.23.2 to main ( #15027 )
...
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-06-30 18:01:08 -04:00
Aapo Alasuutari
3ad8bd8557
fix(ext/ffi): Empty buffers error with index out of bounds on FFI ( #14997 )
2022-06-29 20:30:29 +05:30
Divy Srivastava
76d387fb93
perf(ext/ffi): optimize synchronous calls ( #14945 )
2022-06-29 13:43:33 +05:30
Aapo Alasuutari
00f4521b20
feat(ext/ffi): Thread safe callbacks ( #14942 )
2022-06-28 14:53:36 +05:30
Luca Casonato
8d82ba7299
build: require safety comments on unsafe code ( #13870 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-06-26 00:13:24 +02:00
Kayla Washburn
215f3d4c8e
v1.23.1 ( #14954 )
...
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-23 15:27:41 -06:00
Aapo Alasuutari
a232b4011a
chore(ext/ffi): Improve FFI static handling ( #14924 )
2022-06-23 08:19:07 +05:30
Aapo Alasuutari
82655b9285
perf(ext/ffi): Optimize FFI Rust side type checks ( #14923 )
2022-06-21 09:16:59 +05:30
Aapo Alasuutari
a38a1f91cf
chore(ext/ffi): simplify FFI types ( #14920 )
...
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-21 08:20:33 +05:30
Divy Srivastava
354fa6cd00
BREAKING(ext/ffi): Remove Deno.UnsafePointer
indirection ( #14915 )
2022-06-20 19:08:10 +05:30
Aapo Alasuutari
3d6fa64f19
feat(ext/ffi): Callbacks ( #14663 )
...
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-20 16:36:04 +05:30
denobot
e7ea4edc8a
1.23.0 ( #14878 )
...
* 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-15 17:02:18 -06:00
Colin Ihrig
cf866c5ad3
chore: Forward v1.22.3 to main ( #14835 )
...
* 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-09 16:57:16 -04:00
Elias Sjögreen
8113fac939
feat(ext/ffi): support passing and returning bigints ( #14523 )
2022-06-08 16:43:10 +05:30
Bartek Iwańczuk
de562b0215
chore: Forward v1.22.2 to main ( #14785 )
2022-06-02 22:29:41 +02:00
Kitson Kelly
1c44f4060e
1.22.1
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
2022-05-27 17:36:43 +10:00
denobot
5ad8919d64
1.22.0 ( #14657 )
...
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-05-18 20:35:16 +05:30
Bert Belder
89b428234c
1.21.3 ( #14584 )
2022-05-12 18:43:00 +02:00
Colin Ihrig
23c77df664
1.21.2 ( #14508 )
...
1.21.2
2022-05-05 19:37:27 -04:00
Luca Casonato
242273e69b
chore: update deps ( #14416 )
2022-05-05 12:41:59 +02:00
Leo Kettmeir
de2004dec5
Forward 1.21.1 ( #14428 )
2022-04-28 23:32:42 +02:00
Luca Casonato
1ad8c11bc9
chore: bump crates ( #14365 )
2022-04-22 16:54:42 +02:00
denobot
29c8cd8aae
1.21.0 ( #14336 )
...
Co-authored-by: ry <ry@users.noreply.github.com>
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-04-20 21:50:16 -04:00
David Sherret
0e4574b2e3
chore: forward v1.20.6 release commit to main ( #14288 )
2022-04-14 15:50:48 -04:00
David Sherret
b2aaf708ab
chore: forward v1.20.5 release commit to main ( #14232 )
2022-04-07 14:40:20 -04:00
Bartek Iwańczuk
6c25b5135d
chore: update tokio, tokio-util and libc dependencies ( #14174 )
2022-04-02 19:54:40 +02:00
David Sherret
7fec7c834c
1.20.4 ( #14168 )
2022-03-31 15:48:35 -04:00
Luca Casonato
37b0ec454c
chore: forward v1.20.3 release commit to main ( #14121 )
2022-03-25 18:53:55 +01:00
Luca Casonato
25b73a366f
fix(ext/ffi): enforce unstable check on ops ( #14115 )
2022-03-25 12:29:54 +01:00
Kitson Kelly
cff1e92ecf
1.20.2
2022-03-24 14:47:06 +11:00
Ryan Dahl
fce60f2cc2
v1.20.1
2022-03-16 21:40:31 -04:00
Ryan Dahl
418c1eb4b3
v1.20.0
2022-03-16 16:07:35 -04:00
Aaron O'Mullan
bd481bf095
feat(ops): optional OpState ( #13954 )
2022-03-16 00:33:46 +01:00
Aaron O'Mullan
88d0f01948
feat(ops): custom arity ( #13949 )
...
Also cleanup & drop ignored wildcard op-args
2022-03-14 23:38:53 +01:00
Divy Srivastava
b4e42953e1
feat(core): codegen ops ( #13861 )
...
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-03-14 18:44:15 +01:00
Yoshiya Hinosawa
3c11768aab
v1.19.3
2022-03-10 23:29:14 +09:00
Satya Rohith
95459e60f6
chore: bump crate version for 1.19.2 ( #13824 )
2022-03-03 15:05:18 -05:00
David Sherret
4deefafdd1
chore: bump crate versions for 1.19.1 ( #13760 )
2022-02-24 17:45:39 -05:00
Aapo Alasuutari
b1a6555c05
feat(ext/ffi): Support read only global statics ( #13662 )
2022-02-18 17:51:19 +05:30
Bartek Iwańczuk
e17ab6322e
chore: release crates for v1.19.0 ( #13698 )
2022-02-17 00:57:40 +01:00
Bartek Iwańczuk
82284d8052
chore: forward v1.18.2 to main ( #13595 )
2022-02-04 21:44:38 +01:00
Bartek Iwańczuk
8176a4d166
refactor: primordials for instanceof ( #13527 )
2022-02-01 18:06:11 +01:00
Bartek Iwańczuk
5cf23176dc
chore: forward v1.18.1 to main ( #13514 )
2022-01-27 18:52:34 +01:00
Bartek Iwańczuk
f248e6f177
Revert "refactor: update runtime code for primordial checks for "instanceof" ( #13497 )" ( #13511 )
...
This reverts commit 884143218f
.
2022-01-27 16:27:22 +01:00
Bartek Iwańczuk
884143218f
refactor: update runtime code for primordial checks for "instanceof" ( #13497 )
2022-01-27 13:36:36 +01:00
Divy Srivastava
16776c9ade
chore: bump crate version for 0.18.0 ( #13441 )
2022-01-20 20:50:39 +05:30
Divy Srivastava
23647a0d8a
fix(ext/ffi): update copyright year to 2022 ( #13440 )
2022-01-20 19:57:25 +05:30
David Sherret
ad224f53c7
chore: upgrade to rust 1.58 ( #13377 )
2022-01-15 07:10:12 +01:00
Bartek Iwańczuk
9975ede773
chore: forward v1.17.3 to main ( #13364 )
2022-01-13 20:47:42 +01:00
DjDeveloper
62291e9b0e
feat(ext/ffi): UnsafeFnPointer API ( #13340 )
2022-01-12 12:38:26 +01:00
DjDeveloper
5680d33dd9
feat(ext/ffi): support alias names for symbol definitions ( #13090 )
2022-01-11 07:21:16 +01:00
Ryan Dahl
1fb5858009
chore: update copyright to 2022 ( #13306 )
...
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07 22:09:52 -05:00
Bartek Iwańczuk
46f2ff1205
chore: forward 1.17.2 to main ( #13295 )
2022-01-06 13:20:42 +01:00
DjDeveloper
9778545048
fix(ext/ffi): throw errors instead of panic ( #13283 )
2022-01-05 12:55:31 +05:30
Bartek Iwańczuk
9391ba1098
chore: merge v1.17.1 into main ( #13184 )
2021-12-22 22:20:17 +01:00
Luke Channings
e5a8588370
fix(ext/ffi): use c_char
instead of i8
for reading strings ( #13118 )
2021-12-17 10:42:45 +01:00
Bartek Iwańczuk
e0cba6b19b
chore: release crates for v1.17.0 ( #13112 )
2021-12-16 18:51:23 +01:00
Elias Sjögreen
ee49cce726
feat(ext/ffi): implement UnsafePointer and UnsafePointerView ( #12828 )
2021-12-15 15:41:49 +01:00
Luca Casonato
72e9720e91
chore: merge v1.16.4 into main ( #12984 )
2021-12-04 01:26:54 +01:00
Bert Belder
c6f3493f18
chore: merge v1.16.3 into main ( #12892 )
2021-11-24 15:56:18 -08:00
David Sherret
cd61cedd19
chore: bump crates for 1.16.2 ( #12792 )
2021-11-17 10:14:23 -05:00
Luca Casonato
3250ffe020
chore: bump crate versions for 1.16.1 ( #12729 )
2021-11-11 11:16:05 +01:00
Luca Casonato
4f64acd4e4
chore: bump crate versions for 1.16.0 ( #12706 )
2021-11-09 13:03:17 +01:00
Bartek Iwańczuk
8e31bbbe55
chore: update to Rust edition 2021 ( #12578 )
2021-11-02 10:03:37 -04:00
Ryan Dahl
9161e74a7d
Use libffi-rs instead of deno-libffi ( #12555 )
...
Fork is no longer necessary since https://github.com/tov/libffi-rs/pull/33
landed.
2021-10-26 16:30:27 -04:00
Yoshiya Hinosawa
c7dcf1cbdd
chore: bump crate version for 1.15.3 ( #12531 )
2021-10-25 15:48:01 +09:00