Luca Casonato
bdd8ddbe4c
fix(ext/ffi): unstable op_ffi_unsafe_callback_ref ( #15439 )
2022-08-10 08:39:45 +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
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
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
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
Divy Srivastava
20cbd7f0f8
perf(ext/ffi): leverage V8 Fast Calls ( #15125 )
2022-07-08 23:19:09 +05:30
Bartek Iwańczuk
b8b82c3ea4
chore: use Rust 1.62.0 ( #15028 )
2022-07-01 15:28:06 +02: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
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
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
Elias Sjögreen
8113fac939
feat(ext/ffi): support passing and returning bigints ( #14523 )
2022-06-08 16:43:10 +05:30
Luca Casonato
25b73a366f
fix(ext/ffi): enforce unstable check on ops ( #14115 )
2022-03-25 12:29:54 +01: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
Aapo Alasuutari
b1a6555c05
feat(ext/ffi): Support read only global statics ( #13662 )
2022-02-18 17:51:19 +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
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
DjDeveloper
9778545048
fix(ext/ffi): throw errors instead of panic ( #13283 )
2022-01-05 12:55:31 +05:30
Luke Channings
e5a8588370
fix(ext/ffi): use c_char
instead of i8
for reading strings ( #13118 )
2021-12-17 10:42:45 +01:00
Elias Sjögreen
ee49cce726
feat(ext/ffi): implement UnsafePointer and UnsafePointerView ( #12828 )
2021-12-15 15:41:49 +01:00
Bartek Iwańczuk
8e31bbbe55
chore: update to Rust edition 2021 ( #12578 )
2021-11-02 10:03:37 -04:00
Nayeem Rahman
7a22df9b76
fix(runtime/ops/worker_host): move permission arg parsing to Rust ( #12297 )
2021-10-13 13:04:44 -04:00
David Sherret
9b1f0c8ba3
chore: upgrade crates based on deno ast 0.3 ( #12403 )
2021-10-12 09:58:04 -04:00
Divy Srivastava
ab2e0a465e
fix(ext/ffi): don't panic in dlopen ( #12344 )
2021-10-07 11:03:00 -04:00
Divy Srivastava
2b39e74477
fix(ext/ffi): formatting dlopen errors on Windows ( #12301 )
2021-10-06 02:13:56 +02:00
Bartek Iwańczuk
3faf75aa88
feat(ext/ffi): add support for buffer arguments ( #12335 )
...
This commit adds support for passing buffer arguments across
FFI boundary.
Co-authored-by: eliassjogreen <eliassjogreen1@gmail.com>
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-10-06 00:27:05 +02:00
Divy Srivastava
80aee99c9e
feat(ext/ffi): Non-blocking FFI ( #12274 )
2021-10-05 14:50:00 +02:00
Luca Casonato
64a7187238
chore: remove No*Permissions structs ( #12316 )
...
These are confusing. They say they are "for users that don't care about
permissions", but that isn't correct. `NoTimersPermissions` disables
permissions instead of enabling them.
I would argue that implementors should decide what permissions they want
themselves, and not take our opinionated permissions struct.
2021-10-04 22:56:24 +02:00
Luca Casonato
df084b9f14
fix(ext/ffi): don't panic on invalid enum values ( #11815 )
...
Co-authored-by: Feng Yu <f3n67u@gmail.com>
2021-08-23 18:31:19 +02:00
Aaron O'Mullan
2ca454b402
refactor(ops): return BadResource errors in ResourceTable calls ( #11710 )
...
* refactor(ops): return BadResource errors in ResourceTable calls
Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ...
2021-08-15 13:29:19 +02:00
Ryan Dahl
a0285e2eb8
Rename extensions/ directory to ext/ ( #11643 )
2021-08-11 12:27:05 +02:00