From f81334d5bd1df723b1543dd906bd5672808bc75f Mon Sep 17 00:00:00 2001 From: Aaron O'Mullan Date: Tue, 22 Mar 2022 16:39:58 +0100 Subject: 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 --- ops/lib.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'ops/lib.rs') 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, } } -- cgit v1.2.3