summaryrefslogtreecommitdiff
path: root/ops/fast_call.rs
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2023-03-03 19:04:10 +0530
committerGitHub <noreply@github.com>2023-03-03 19:04:10 +0530
commit38555a6a0fe9a7235776afe0ebfb2a24dc518391 (patch)
treeef9506c500451e5f2ef4ae5b70eda85c7147a25e /ops/fast_call.rs
parent64503fabd81e38c58d44d23ae94f5b87a384b86e (diff)
feat(ops): reland fast zero copy string arguments (#17996)
Reland https://github.com/denoland/deno/pull/16777 The codegen is disabled in async ops and when fallback to slow call is possible (return type is a Result) to avoid hitting this V8 bug: https://github.com/denoland/deno/issues/17159
Diffstat (limited to 'ops/fast_call.rs')
-rw-r--r--ops/fast_call.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/ops/fast_call.rs b/ops/fast_call.rs
index 12ff9e446..0ddf5c878 100644
--- a/ops/fast_call.rs
+++ b/ops/fast_call.rs
@@ -430,7 +430,8 @@ fn q_fast_ty(v: &FastValue) -> Quote {
FastValue::V8Value => q!({ v8::Local<v8::Value> }),
FastValue::Uint8Array
| FastValue::Uint32Array
- | FastValue::Float64Array => unreachable!(),
+ | FastValue::Float64Array
+ | FastValue::SeqOneByteString => unreachable!(),
}
}
@@ -450,6 +451,7 @@ fn q_fast_ty_variant(v: &FastValue) -> Quote {
FastValue::Uint8Array => q!({ TypedArray(CType::Uint8) }),
FastValue::Uint32Array => q!({ TypedArray(CType::Uint32) }),
FastValue::Float64Array => q!({ TypedArray(CType::Float64) }),
+ FastValue::SeqOneByteString => q!({ SeqOneByteString }),
}
}