1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-27 01:29:14 -05:00
denoland-deno/ops/optimizer_tests
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
..
async_nop.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
async_nop.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
async_nop.rs feat(ops): implement fast lazy async ops (#16579) 2022-11-11 19:14:53 +05:30
async_result.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
async_result.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
async_result.rs feat(ops): implement fast lazy async ops (#16579) 2022-11-11 19:14:53 +05:30
callback_options.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
callback_options.out perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
callback_options.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
cow_str.expected feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
cow_str.out feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
cow_str.rs feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
incompatible_1.expected refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
incompatible_1.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
incompatible_1.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
op_blob_revoke_object_url.expected feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
op_blob_revoke_object_url.out feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
op_blob_revoke_object_url.rs feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
op_print.expected feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
op_print.out feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
op_print.rs feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
op_state.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
op_state.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
op_state.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
op_state_basic1.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
op_state_basic1.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
op_state_basic1.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
op_state_generics.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
op_state_generics.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
op_state_generics.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
op_state_result.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
op_state_result.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
op_state_result.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
op_state_warning.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
op_state_warning.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
op_state_warning.rs feat(ops): implement fast lazy async ops (#16579) 2022-11-11 19:14:53 +05:30
op_state_with_transforms.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
op_state_with_transforms.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
op_state_with_transforms.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
opstate_with_arity.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
opstate_with_arity.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
opstate_with_arity.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
option_arg.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
option_arg.out perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
option_arg.rs perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
owned_string.expected feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
owned_string.out feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
owned_string.rs feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
param_mut_binding_warning.expected refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
param_mut_binding_warning.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
param_mut_binding_warning.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
raw_ptr.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
raw_ptr.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
raw_ptr.rs feat(ops): support raw pointer arguments (#16826) 2022-11-26 20:07:43 +05:30
serde_v8_value.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
serde_v8_value.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
serde_v8_value.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
strings.expected feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
strings.out feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
strings.rs feat(ops): Fast zero copy string arguments (#16777) 2022-12-02 05:29:15 +00:00
u64_result.expected refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
u64_result.out chore(ops): increase codegen tests coverage (#16834) 2022-11-27 09:10:31 +05:30
u64_result.rs refactor(ops): Rewrite fast call optimizer and codegen (#16514) 2022-11-10 17:23:31 +05:30
uint8array.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
uint8array.out perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
uint8array.rs perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
unit_result.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
unit_result.out perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
unit_result.rs perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
unit_result2.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
unit_result2.out perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
unit_result2.rs perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
unit_ret.expected perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
unit_ret.out perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
unit_ret.rs perf(ops): Reenable fast unit result optimization (#16827) 2022-11-27 04:48:17 +00:00
wasm_op.expected feat(ops): fast calls for Wasm (#16776) 2022-11-27 19:24:28 +05:30
wasm_op.out feat(ops): fast calls for Wasm (#16776) 2022-11-27 19:24:28 +05:30
wasm_op.rs feat(ops): fast calls for Wasm (#16776) 2022-11-27 19:24:28 +05:30