From 906aa78af33c8405a47d5446d2a6fb3348c275bb Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Sun, 21 Aug 2022 17:37:53 +0530 Subject: feat(ops): V8 Fast Calls (#15291) --- core/extensions.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'core/extensions.rs') diff --git a/core/extensions.rs b/core/extensions.rs index ce6957875..846770d1f 100644 --- a/core/extensions.rs +++ b/core/extensions.rs @@ -2,6 +2,7 @@ use crate::OpState; use anyhow::Error; use std::{cell::RefCell, rc::Rc, task::Context}; +use v8::fast_api::FastFunction; pub type SourcePair = (&'static str, &'static str); pub type OpFnRef = v8::FunctionCallback; @@ -9,14 +10,14 @@ pub type OpMiddlewareFn = dyn Fn(OpDecl) -> OpDecl; pub type OpStateFn = dyn Fn(&mut OpState) -> Result<(), Error>; pub type OpEventLoopFn = dyn Fn(Rc>, &mut Context) -> bool; -#[derive(Clone, Copy)] pub struct OpDecl { pub name: &'static str, pub v8_fn_ptr: OpFnRef, pub enabled: bool, - pub is_async: bool, // TODO(@AaronO): enum sync/async/fast ? + pub is_async: bool, pub is_unstable: bool, pub is_v8: bool, + pub fast_fn: Option>, } impl OpDecl { -- cgit v1.2.3