summaryrefslogtreecommitdiff
path: root/ops/lib.rs
diff options
context:
space:
mode:
authorAaron O'Mullan <aaron.omullan@gmail.com>2022-03-22 16:39:58 +0100
committerGitHub <noreply@github.com>2022-03-22 16:39:58 +0100
commitf81334d5bd1df723b1543dd906bd5672808bc75f (patch)
treef0cfe6da3c6078170a714d52272243ca647e119d /ops/lib.rs
parentc9817c335c23a5b85d6262b0e42abef19075c975 (diff)
feat(core): disableable extensions & ops (#14063)
Streamlines a common middleware pattern and provides foundations for avoiding variably sized v8::ExternalReferences & enabling fully monomorphic op callpaths
Diffstat (limited to 'ops/lib.rs')
-rw-r--r--ops/lib.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/ops/lib.rs b/ops/lib.rs
index 9add40a9e..61ad876d3 100644
--- a/ops/lib.rs
+++ b/ops/lib.rs
@@ -51,7 +51,8 @@ pub fn op(_attr: TokenStream, item: TokenStream) -> TokenStream {
let core = core_import();
- let v8_body = if func.sig.asyncness.is_some() {
+ let is_async = func.sig.asyncness.is_some();
+ let v8_body = if is_async {
codegen_v8_async(&core, &func)
} else {
codegen_v8_sync(&core, &func)
@@ -82,6 +83,8 @@ pub fn op(_attr: TokenStream, item: TokenStream) -> TokenStream {
#core::OpDecl {
name: Self::name(),
v8_fn_ptr: Self::v8_fn_ptr::<#type_params>(),
+ enabled: true,
+ is_async: #is_async,
}
}