1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00
denoland-deno/ext
Divy Srivastava 9b2b8df927
feat(ops): Fast zero copy string arguments (#16777)
Uses SeqOneByteString optimization to do zero-copy `&str` arguments in
fast calls.

- [x] Depends on https://github.com/denoland/rusty_v8/pull/1129
- [x] Depends on
https://chromium-review.googlesource.com/c/v8/v8/+/4036884
- [x] Disable in async ops
- [x] Make it work with owned `String` with an extra alloc in fast path.
- [x] Support `Cow<'_, str>`. Owned for slow case, Borrowed for fast
case

```rust
#[op]
fn op_string_len(s: &str) -> u32 { 
  str.len() as u32 
}
```
2022-12-02 05:29:15 +00:00
..
broadcast_channel chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
cache chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
console chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
crypto chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
fetch chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
ffi chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
flash chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
http chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
napi chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
net chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
node feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
tls chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
url feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
web feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
webgpu chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
webidl chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
websocket perf(ext/websocket): skip Events constructor checks (#16365) 2022-12-01 20:05:32 +05:30
webstorage feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00