0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-14 17:47:35 -05:00
denoland-deno/ext/web
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
..
benches
00_infra.js
01_dom_exception.js
01_mimesniff.js
02_event.js perf(ext/websocket): skip Events constructor checks (#16365) 2022-12-01 20:05:32 +05:30
02_structured_clone.js
02_timers.js
03_abort_signal.js experiment(ext/web): Don't expose event classes during the bootstrap phase (#16213) 2022-10-24 16:14:17 +02:00
04_global_interfaces.js experiment(ext/web): Don't expose event classes during the bootstrap phase (#16213) 2022-10-24 16:14:17 +02:00
05_base64.js
06_streams.js perf(runtime/spawn): collect output using op_read_all (#16596) 2022-11-15 14:06:52 +01:00
06_streams_types.d.ts
08_text_encoding.js perf(web): optimize single pass utf8 decoding (#16593) 2022-11-11 20:07:18 +05:30
09_file.js
10_filereader.js perf(ext/web): add op_encode_binary_string (#16352) 2022-10-24 20:27:22 +02:00
11_blob_url.js
12_location.js
13_message_port.js feat(ext/web): use ArrayBuffer.was_detached() (#16307) 2022-10-25 14:22:37 +02:00
14_compression.js
15_performance.js experiment(ext/web): Don't expose event classes during the bootstrap phase (#16213) 2022-10-24 16:14:17 +02:00
blob.rs feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
Cargo.toml chore: forward v1.28.3 release commit to main (#16884) 2022-12-01 22:46:27 +09:00
compression.rs feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
internal.d.ts experiment(ext/web): Don't expose event classes during the bootstrap phase (#16213) 2022-10-24 16:14:17 +02:00
lib.deno_web.d.ts fix(ext/web): fix typings for readable stream readers (#16191) 2022-11-30 16:24:13 +01:00
lib.rs feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
message_port.rs
README.md
timers.rs

deno web

Op crate that implements Event, TextEncoder, TextDecoder and File API (https://w3c.github.io/FileAPI).

Testing for text encoding is done via WPT in cli/.