/
githubmirror
/
deno
Обзор
Документация
Войти
/
githubmirror
/
deno
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
libs/ops/op2/test_cases/sync/cppgc_resource.out
824 строки
33 KB
Nathan Whitaker
perf(core): reduce native callback snapshot overhead (#35121)
11 июн 2026, 07:21
Не верифицирован
11 июн 2026, 07:21
1eebdde
Код
Авторство
О чём код?
#[allow(non_camel_case_types)] const fn op_cppgc_object() -> ::deno_core::_ops::OpDecl { #[allow(non_camel_case_types)] struct op_cppgc_object { _unconstructable: ::std::marker::PhantomData<()>, } impl ::deno_core::_ops::Op for op_cppgc_object { const NAME: &'static str = stringify!(op_cppgc_object); const DECL: ::deno_core::_ops::OpDecl = ::deno_core::_ops::OpDecl::new_internal_op2( ::deno_core::__op_name_fast!(op_cppgc_object), false, false, false, 1usize as u8, false, false, Self::v8_fn_ptr as _, Self::slow_function_impl, ::deno_core::AccessorType::None, Some({ use deno_core::v8::fast_api::Type as CType; use deno_core::v8; deno_core::v8::fast_api::CFunction::new( Self::v8_fn_ptr_fast as _, &deno_core::v8::fast_api::CFunctionInfo::new( CType::Void.as_info(), &[ CType::V8Value.as_info(), CType::V8Value.as_info(), CType::CallbackOptions.as_info(), ], deno_core::v8::fast_api::Int64Representation::BigInt, ), ) }), Some({ use deno_core::v8::fast_api::Type as CType; use deno_core::v8; deno_core::v8::fast_api::CFunction::new( Self::v8_fn_ptr_fast_metrics as _, &deno_core::v8::fast_api::CFunctionInfo::new( CType::Void.as_info(), &[ CType::V8Value.as_info(), CType::V8Value.as_info(), CType::CallbackOptions.as_info(), ], deno_core::v8::fast_api::Int64Representation::BigInt, ), ) }), ::deno_core::OpMetadata { ..::deno_core::OpMetadata::default() }, ); } impl op_cppgc_object { pub const fn name() -> &'static str { <Self as deno_core::_ops::Op>::NAME } #[allow(clippy::too_many_arguments)] extern "C" fn v8_fn_ptr_fast_metrics<'s>( this: deno_core::v8::Local<deno_core::v8::Object>, arg0: deno_core::v8::Local<deno_core::v8::Value>, fast_api_callback_options: *mut deno_core::v8::fast_api::FastApiCallbackOptions< 's, >, ) -> () { let fast_api_callback_options: &'s mut _ = unsafe { &mut *fast_api_callback_options }; let opctx: &'s _ = unsafe { &*(deno_core::v8::Local::< deno_core::v8::External, >::cast_unchecked(unsafe { fast_api_callback_options.data }) .value() as *const deno_core::_ops::OpCtx) }; deno_core::_ops::dispatch_metrics_fast( opctx, deno_core::_ops::OpMetricsEvent::Dispatched, ); let res = Self::v8_fn_ptr_fast(this, arg0, fast_api_callback_options); deno_core::_ops::dispatch_metrics_fast( opctx, deno_core::_ops::OpMetricsEvent::Completed, ); res } #[allow(clippy::too_many_arguments)] extern "C" fn v8_fn_ptr_fast<'s>( this: deno_core::v8::Local<deno_core::v8::Object>, arg0: deno_core::v8::Local<deno_core::v8::Value>, fast_api_callback_options: *mut deno_core::v8::fast_api::FastApiCallbackOptions< 's, >, ) -> () { #[cfg(debug_assertions)] let _reentrancy_check_guard = deno_core::_ops::reentrancy_check( &<Self as deno_core::_ops::Op>::DECL, ); let fast_api_callback_options: &'s mut _ = unsafe { &mut *fast_api_callback_options }; let mut scope = unsafe { fast_api_callback_options.isolate_unchecked_mut() }; let result = { let Some(arg0) = deno_core::_ops::try_unwrap_cppgc_object::< Wrap, >(&mut scope, arg0) else { { let scope = ::std::pin::pin!( unsafe { deno_core::v8::CallbackScope::new(& * fast_api_callback_options) } ); let mut scope = scope.init(); deno_core::_ops::throw_error_one_byte( &mut scope, "expected Path { leading_colon: None, segments: [PathSegment { ident: Ident(Wrap), arguments: PathArguments::None }] }", ); return unsafe { std::mem::zeroed() }; } }; let arg0 = unsafe { arg0.as_ref() }; Self::call(arg0) }; result as _ } fn slow_function_impl<'s>( info: *const deno_core::v8::FunctionCallbackInfo, ) -> usize { let info: &'s _ = unsafe { &*info }; #[cfg(debug_assertions)] let _reentrancy_check_guard = deno_core::_ops::reentrancy_check( &<Self as deno_core::_ops::Op>::DECL, ); let parts: deno_core::v8::FunctionCallbackInfoParts<'s> = info.get_parts(); let scope = ::std::pin::pin!( unsafe { deno_core::v8::CallbackScope::new(info) } ); let mut scope = scope.init(); let mut rv = parts.return_value; let args = deno_core::v8::FunctionCallbackArguments::from_function_callback_info_parts( info, &parts, ); let result = { let arg0 = args.get(0usize as i32); let Some(arg0) = deno_core::_ops::try_unwrap_cppgc_object::< Wrap, >(&mut scope, arg0) else { deno_core::_ops::throw_error_one_byte_info(&info, "expected Wrap"); return 1; }; let arg0 = unsafe { arg0.as_ref() }; Self::call(arg0) }; deno_core::_ops::RustToV8RetVal::to_v8_rv(result, &mut rv); return 0; } extern "C" fn v8_fn_ptr(info: *const deno_core::v8::FunctionCallbackInfo) { Self::slow_function_impl(info); } } impl op_cppgc_object { #[allow(clippy::too_many_arguments)] fn call(_resource: &Wrap) {} } <op_cppgc_object as ::deno_core::_ops::Op>::DECL } #[allow(non_camel_case_types)] const fn op_option_cppgc_object() -> ::deno_core::_ops::OpDecl { #[allow(non_camel_case_types)] struct op_option_cppgc_object { _unconstructable: ::std::marker::PhantomData<()>, } impl ::deno_core::_ops::Op for op_option_cppgc_object { const NAME: &'static str = stringify!(op_option_cppgc_object); const DECL: ::deno_core::_ops::OpDecl = ::deno_core::_ops::OpDecl::new_internal_op2( ::deno_core::__op_name_fast!(op_option_cppgc_object), false, false, false, 1usize as u8, false, false, Self::v8_fn_ptr as _, Self::slow_function_impl, ::deno_core::AccessorType::None, Some({ use deno_core::v8::fast_api::Type as CType; use deno_core::v8; deno_core::v8::fast_api::CFunction::new( Self::v8_fn_ptr_fast as _, &deno_core::v8::fast_api::CFunctionInfo::new( CType::Void.as_info(), &[ CType::V8Value.as_info(), CType::V8Value.as_info(), CType::CallbackOptions.as_info(), ], deno_core::v8::fast_api::Int64Representation::BigInt, ), ) }), Some({ use deno_core::v8::fast_api::Type as CType; use deno_core::v8; deno_core::v8::fast_api::CFunction::new( Self::v8_fn_ptr_fast_metrics as _, &deno_core::v8::fast_api::CFunctionInfo::new( CType::Void.as_info(), &[ CType::V8Value.as_info(), CType::V8Value.as_info(), CType::CallbackOptions.as_info(), ], deno_core::v8::fast_api::Int64Representation::BigInt, ), ) }), ::deno_core::OpMetadata { ..::deno_core::OpMetadata::default() }, ); } impl op_option_cppgc_object { pub const fn name() -> &'static str { <Self as deno_core::_ops::Op>::NAME } #[allow(clippy::too_many_arguments)] extern "C" fn v8_fn_ptr_fast_metrics<'s>( this: deno_core::v8::Local<deno_core::v8::Object>, arg0: deno_core::v8::Local<deno_core::v8::Value>, fast_api_callback_options: *mut deno_core::v8::fast_api::FastApiCallbackOptions< 's, >, ) -> () { let fast_api_callback_options: &'s mut _ = unsafe { &mut *fast_api_callback_options }; let opctx: &'s _ = unsafe { &*(deno_core::v8::Local::< deno_core::v8::External, >::cast_unchecked(unsafe { fast_api_callback_options.data }) .value() as *const deno_core::_ops::OpCtx) }; deno_core::_ops::dispatch_metrics_fast( opctx, deno_core::_ops::OpMetricsEvent::Dispatched, ); let res = Self::v8_fn_ptr_fast(this, arg0, fast_api_callback_options); deno_core::_ops::dispatch_metrics_fast( opctx, deno_core::_ops::OpMetricsEvent::Completed, ); res } #[allow(clippy::too_many_arguments)] extern "C" fn v8_fn_ptr_fast<'s>( this: deno_core::v8::Local<deno_core::v8::Object>, arg0: deno_core::v8::Local<deno_core::v8::Value>, fast_api_callback_options: *mut deno_core::v8::fast_api::FastApiCallbackOptions< 's, >, ) -> () { #[cfg(debug_assertions)] let _reentrancy_check_guard = deno_core::_ops::reentrancy_check( &<Self as deno_core::_ops::Op>::DECL, ); let fast_api_callback_options: &'s mut _ = unsafe { &mut *fast_api_callback_options }; let mut scope = unsafe { fast_api_callback_options.isolate_unchecked_mut() }; let result = { let arg0 = if arg0.is_null_or_undefined() { None } else if let Some(arg0) = deno_core::_ops::try_unwrap_cppgc_object::< Wrap, >(&mut scope, arg0) { Some(arg0) } else { { let scope = ::std::pin::pin!( unsafe { deno_core::v8::CallbackScope::new(& * fast_api_callback_options) } ); let mut scope = scope.init(); deno_core::_ops::throw_error_one_byte( &mut scope, "expected Wrap", ); return unsafe { std::mem::zeroed() }; } }; let arg0 = unsafe { arg0.as_ref().map(|a| a.as_ref()) }; Self::call(arg0) }; result as _ } fn slow_function_impl<'s>( info: *const deno_core::v8::FunctionCallbackInfo, ) -> usize { let info: &'s _ = unsafe { &*info }; #[cfg(debug_assertions)] let _reentrancy_check_guard = deno_core::_ops::reentrancy_check( &<Self as deno_core::_ops::Op>::DECL, ); let parts: deno_core::v8::FunctionCallbackInfoParts<'s> = info.get_parts(); let scope = ::std::pin::pin!( unsafe { deno_core::v8::CallbackScope::new(info) } ); let mut scope = scope.init(); let mut rv = parts.return_value; let args = deno_core::v8::FunctionCallbackArguments::from_function_callback_info_parts( info, &parts, ); let result = { let arg0 = args.get(0usize as i32); let arg0 = if arg0.is_null_or_undefined() { None } else if let Some(arg0) = deno_core::_ops::try_unwrap_cppgc_object::< Wrap, >(&mut scope, arg0) { Some(arg0) } else { deno_core::_ops::throw_error_one_byte_info(&info, "expected Wrap"); return 1; }; let arg0 = unsafe { arg0.as_ref().map(|a| a.as_ref()) }; Self::call(arg0) }; deno_core::_ops::RustToV8RetVal::to_v8_rv(result, &mut rv); return 0; } extern "C" fn v8_fn_ptr(info: *const deno_core::v8::FunctionCallbackInfo) { Self::slow_function_impl(info); } } impl op_option_cppgc_object { #[allow(clippy::too_many_arguments)] fn call(_resource: Option<&Wrap>) {} } <op_option_cppgc_object as ::deno_core::_ops::Op>::DECL } #[allow(non_camel_case_types)] const fn op_make_cppgc_object() -> ::deno_core::_ops::OpDecl { #[allow(non_camel_case_types)] struct op_make_cppgc_object { _unconstructable: ::std::marker::PhantomData<()>, } impl ::deno_core::_ops::Op for op_make_cppgc_object { const NAME: &'static str = stringify!(op_make_cppgc_object); const DECL: ::deno_core::_ops::OpDecl = ::deno_core::_ops::OpDecl::new_internal_op2( ::deno_core::__op_name_fast!(op_make_cppgc_object), false, false, false, 0usize as u8, false, false, Self::v8_fn_ptr as _, Self::slow_function_impl, ::deno_core::AccessorType::None, None, None, ::deno_core::OpMetadata { ..::deno_core::OpMetadata::default() }, ); } impl op_make_cppgc_object { pub const fn name() -> &'static str { <Self as deno_core::_ops::Op>::NAME } fn slow_function_impl<'s>( info: *const deno_core::v8::FunctionCallbackInfo, ) -> usize { let info: &'s _ = unsafe { &*info }; #[cfg(debug_assertions)] let _reentrancy_check_guard = deno_core::_ops::reentrancy_check( &<Self as deno_core::_ops::Op>::DECL, ); let parts: deno_core::v8::FunctionCallbackInfoParts<'s> = info.get_parts(); let scope = ::std::pin::pin!( unsafe { deno_core::v8::CallbackScope::new(info) } ); let mut scope = scope.init(); let mut rv = parts.return_value; let result = { Self::call() }; rv.set( deno_core::_ops::RustToV8::to_v8( deno_core::_ops::RustToV8Marker::< deno_core::_ops::CppGcMarker, _, >::from(result), &mut scope, ), ); return 0; } extern "C" fn v8_fn_ptr(info: *const deno_core::v8::FunctionCallbackInfo) { Self::slow_function_impl(info); } } impl op_make_cppgc_object { #[allow(clippy::too_many_arguments)] fn call() -> Wrap { Wrap } } <op_make_cppgc_object as ::deno_core::_ops::Op>::DECL } #[allow(non_camel_case_types)] const fn op_use_cppgc_object() -> ::deno_core::_ops::OpDecl { #[allow(non_camel_case_types)] struct op_use_cppgc_object { _unconstructable: ::std::marker::PhantomData<()>, } impl ::deno_core::_ops::Op for op_use_cppgc_object { const NAME: &'static str = stringify!(op_use_cppgc_object); const DECL: ::deno_core::_ops::OpDecl = ::deno_core::_ops::OpDecl::new_internal_op2( ::deno_core::__op_name_fast!(op_use_cppgc_object), false, false, false, 1usize as u8, false, false, Self::v8_fn_ptr as _, Self::slow_function_impl, ::deno_core::AccessorType::None, Some({ use deno_core::v8::fast_api::Type as CType; use deno_core::v8; deno_core::v8::fast_api::CFunction::new( Self::v8_fn_ptr_fast as _, &deno_core::v8::fast_api::CFunctionInfo::new( CType::Void.as_info(), &[ CType::V8Value.as_info(), CType::V8Value.as_info(), CType::CallbackOptions.as_info(), ], deno_core::v8::fast_api::Int64Representation::BigInt, ), ) }), Some({ use deno_core::v8::fast_api::Type as CType; use deno_core::v8; deno_core::v8::fast_api::CFunction::new( Self::v8_fn_ptr_fast_metrics as _, &deno_core::v8::fast_api::CFunctionInfo::new( CType::Void.as_info(), &[ CType::V8Value.as_info(), CType::V8Value.as_info(), CType::CallbackOptions.as_info(), ], deno_core::v8::fast_api::Int64Representation::BigInt, ), ) }), ::deno_core::OpMetadata { ..::deno_core::OpMetadata::default() }, ); } impl op_use_cppgc_object { pub const fn name() -> &'static str { <Self as deno_core::_ops::Op>::NAME } #[allow(clippy::too_many_arguments)] extern "C" fn v8_fn_ptr_fast_metrics<'s>( this: deno_core::v8::Local<deno_core::v8::Object>, arg0: deno_core::v8::Local<deno_core::v8::Value>, fast_api_callback_options: *mut deno_core::v8::fast_api::FastApiCallbackOptions< 's, >, ) -> () { let fast_api_callback_options: &'s mut _ = unsafe { &mut *fast_api_callback_options }; let opctx: &'s _ = unsafe { &*(deno_core::v8::Local::< deno_core::v8::External, >::cast_unchecked(unsafe { fast_api_callback_options.data }) .value() as *const deno_core::_ops::OpCtx) }; deno_core::_ops::dispatch_metrics_fast( opctx, deno_core::_ops::OpMetricsEvent::Dispatched, ); let res = Self::v8_fn_ptr_fast(this, arg0, fast_api_callback_options); deno_core::_ops::dispatch_metrics_fast( opctx, deno_core::_ops::OpMetricsEvent::Completed, ); res } #[allow(clippy::too_many_arguments)] extern "C" fn v8_fn_ptr_fast<'s>( this: deno_core::v8::Local<deno_core::v8::Object>, arg0: deno_core::v8::Local<deno_core::v8::Value>, fast_api_callback_options: *mut deno_core::v8::fast_api::FastApiCallbackOptions< 's, >, ) -> () { #[cfg(debug_assertions)] let _reentrancy_check_guard = deno_core::_ops::reentrancy_check( &<Self as deno_core::_ops::Op>::DECL, ); let fast_api_callback_options: &'s mut _ = unsafe { &mut *fast_api_callback_options }; let mut scope = unsafe { fast_api_callback_options.isolate_unchecked_mut() }; let result = { let Some(arg0) = deno_core::_ops::try_unwrap_cppgc_object::< Wrap, >(&mut scope, arg0) else { { let scope = ::std::pin::pin!( unsafe { deno_core::v8::CallbackScope::new(& * fast_api_callback_options) } ); let mut scope = scope.init(); deno_core::_ops::throw_error_one_byte( &mut scope, "expected Path { leading_colon: None, segments: [PathSegment { ident: Ident(Wrap), arguments: PathArguments::None }] }", ); return unsafe { std::mem::zeroed() }; } }; let arg0 = unsafe { arg0.as_ref() }; Self::call(arg0) }; result as _ } fn slow_function_impl<'s>( info: *const deno_core::v8::FunctionCallbackInfo, ) -> usize { let info: &'s _ = unsafe { &*info }; #[cfg(debug_assertions)] let _reentrancy_check_guard = deno_core::_ops::reentrancy_check( &<Self as deno_core::_ops::Op>::DECL, ); let parts: deno_core::v8::FunctionCallbackInfoParts<'s> = info.get_parts(); let scope = ::std::pin::pin!( unsafe { deno_core::v8::CallbackScope::new(info) } ); let mut scope = scope.init(); let mut rv = parts.return_value; let args = deno_core::v8::FunctionCallbackArguments::from_function_callback_info_parts( info, &parts, ); let result = { let arg0 = args.get(0usize as i32); let Some(arg0) = deno_core::_ops::try_unwrap_cppgc_object::< Wrap, >(&mut scope, arg0) else { deno_core::_ops::throw_error_one_byte_info(&info, "expected Wrap"); return 1; }; let arg0 = unsafe { arg0.as_ref() }; Self::call(arg0) }; deno_core::_ops::RustToV8RetVal::to_v8_rv(result, &mut rv); return 0; } extern "C" fn v8_fn_ptr(info: *const deno_core::v8::FunctionCallbackInfo) { Self::slow_function_impl(info); } } impl op_use_cppgc_object { #[allow(clippy::too_many_arguments)] fn call(_wrap: &Wrap) {} } <op_use_cppgc_object as ::deno_core::_ops::Op>::DECL } #[allow(non_camel_case_types)] const fn op_make_cppgc_object_option() -> ::deno_core::_ops::OpDecl { #[allow(non_camel_case_types)] struct op_make_cppgc_object_option { _unconstructable: ::std::marker::PhantomData<()>, } impl ::deno_core::_ops::Op for op_make_cppgc_object_option { const NAME: &'static str = stringify!(op_make_cppgc_object_option); const DECL: ::deno_core::_ops::OpDecl = ::deno_core::_ops::OpDecl::new_internal_op2( ::deno_core::__op_name_fast!(op_make_cppgc_object_option), false, false, false, 0usize as u8, false, false, Self::v8_fn_ptr as _, Self::slow_function_impl, ::deno_core::AccessorType::None, None, None, ::deno_core::OpMetadata { ..::deno_core::OpMetadata::default() }, ); } impl op_make_cppgc_object_option { pub const fn name() -> &'static str { <Self as deno_core::_ops::Op>::NAME } fn slow_function_impl<'s>( info: *const deno_core::v8::FunctionCallbackInfo, ) -> usize { let info: &'s _ = unsafe { &*info }; #[cfg(debug_assertions)] let _reentrancy_check_guard = deno_core::_ops::reentrancy_check( &<Self as deno_core::_ops::Op>::DECL, ); let parts: deno_core::v8::FunctionCallbackInfoParts<'s> = info.get_parts(); let scope = ::std::pin::pin!( unsafe { deno_core::v8::CallbackScope::new(info) } ); let mut scope = scope.init(); let mut rv = parts.return_value; let result = { Self::call() }; rv.set( deno_core::_ops::RustToV8::to_v8( result .map( deno_core::_ops::RustToV8Marker::< deno_core::_ops::CppGcMarker, _, >::from, ), &mut scope, ), ); return 0; } extern "C" fn v8_fn_ptr(info: *const deno_core::v8::FunctionCallbackInfo) { Self::slow_function_impl(info); } } impl op_make_cppgc_object_option { #[allow(clippy::too_many_arguments)] fn call() -> Option<Wrap> { Some(Wrap) } } <op_make_cppgc_object_option as ::deno_core::_ops::Op>::DECL } #[allow(non_camel_case_types)] const fn op_use_cppgc_object_option() -> ::deno_core::_ops::OpDecl { #[allow(non_camel_case_types)] struct op_use_cppgc_object_option { _unconstructable: ::std::marker::PhantomData<()>, } impl ::deno_core::_ops::Op for op_use_cppgc_object_option { const NAME: &'static str = stringify!(op_use_cppgc_object_option); const DECL: ::deno_core::_ops::OpDecl = ::deno_core::_ops::OpDecl::new_internal_op2( ::deno_core::__op_name_fast!(op_use_cppgc_object_option), false, false, false, 1usize as u8, false, false, Self::v8_fn_ptr as _, Self::slow_function_impl, ::deno_core::AccessorType::None, Some({ use deno_core::v8::fast_api::Type as CType; use deno_core::v8; deno_core::v8::fast_api::CFunction::new( Self::v8_fn_ptr_fast as _, &deno_core::v8::fast_api::CFunctionInfo::new( CType::Void.as_info(), &[ CType::V8Value.as_info(), CType::V8Value.as_info(), CType::CallbackOptions.as_info(), ], deno_core::v8::fast_api::Int64Representation::BigInt, ), ) }), Some({ use deno_core::v8::fast_api::Type as CType; use deno_core::v8; deno_core::v8::fast_api::CFunction::new( Self::v8_fn_ptr_fast_metrics as _, &deno_core::v8::fast_api::CFunctionInfo::new( CType::Void.as_info(), &[ CType::V8Value.as_info(), CType::V8Value.as_info(), CType::CallbackOptions.as_info(), ], deno_core::v8::fast_api::Int64Representation::BigInt, ), ) }), ::deno_core::OpMetadata { ..::deno_core::OpMetadata::default() }, ); } impl op_use_cppgc_object_option { pub const fn name() -> &'static str { <Self as deno_core::_ops::Op>::NAME } #[allow(clippy::too_many_arguments)] extern "C" fn v8_fn_ptr_fast_metrics<'s>( this: deno_core::v8::Local<deno_core::v8::Object>, arg0: deno_core::v8::Local<deno_core::v8::Value>, fast_api_callback_options: *mut deno_core::v8::fast_api::FastApiCallbackOptions< 's, >, ) -> () { let fast_api_callback_options: &'s mut _ = unsafe { &mut *fast_api_callback_options }; let opctx: &'s _ = unsafe { &*(deno_core::v8::Local::< deno_core::v8::External, >::cast_unchecked(unsafe { fast_api_callback_options.data }) .value() as *const deno_core::_ops::OpCtx) }; deno_core::_ops::dispatch_metrics_fast( opctx, deno_core::_ops::OpMetricsEvent::Dispatched, ); let res = Self::v8_fn_ptr_fast(this, arg0, fast_api_callback_options); deno_core::_ops::dispatch_metrics_fast( opctx, deno_core::_ops::OpMetricsEvent::Completed, ); res } #[allow(clippy::too_many_arguments)] extern "C" fn v8_fn_ptr_fast<'s>( this: deno_core::v8::Local<deno_core::v8::Object>, arg0: deno_core::v8::Local<deno_core::v8::Value>, fast_api_callback_options: *mut deno_core::v8::fast_api::FastApiCallbackOptions< 's, >, ) -> () { #[cfg(debug_assertions)] let _reentrancy_check_guard = deno_core::_ops::reentrancy_check( &<Self as deno_core::_ops::Op>::DECL, ); let fast_api_callback_options: &'s mut _ = unsafe { &mut *fast_api_callback_options }; let mut scope = unsafe { fast_api_callback_options.isolate_unchecked_mut() }; let result = { let Some(arg0) = deno_core::_ops::try_unwrap_cppgc_object::< Wrap, >(&mut scope, arg0) else { { let scope = ::std::pin::pin!( unsafe { deno_core::v8::CallbackScope::new(& * fast_api_callback_options) } ); let mut scope = scope.init(); deno_core::_ops::throw_error_one_byte( &mut scope, "expected Path { leading_colon: None, segments: [PathSegment { ident: Ident(Wrap), arguments: PathArguments::None }] }", ); return unsafe { std::mem::zeroed() }; } }; let arg0 = unsafe { arg0.as_ref() }; Self::call(arg0) }; result as _ } fn slow_function_impl<'s>( info: *const deno_core::v8::FunctionCallbackInfo, ) -> usize { let info: &'s _ = unsafe { &*info }; #[cfg(debug_assertions)] let _reentrancy_check_guard = deno_core::_ops::reentrancy_check( &<Self as deno_core::_ops::Op>::DECL, ); let parts: deno_core::v8::FunctionCallbackInfoParts<'s> = info.get_parts(); let scope = ::std::pin::pin!( unsafe { deno_core::v8::CallbackScope::new(info) } ); let mut scope = scope.init(); let mut rv = parts.return_value; let args = deno_core::v8::FunctionCallbackArguments::from_function_callback_info_parts( info, &parts, ); let result = { let arg0 = args.get(0usize as i32); let Some(arg0) = deno_core::_ops::try_unwrap_cppgc_object::< Wrap, >(&mut scope, arg0) else { deno_core::_ops::throw_error_one_byte_info(&info, "expected Wrap"); return 1; }; let arg0 = unsafe { arg0.as_ref() }; Self::call(arg0) }; deno_core::_ops::RustToV8RetVal::to_v8_rv(result, &mut rv); return 0; } extern "C" fn v8_fn_ptr(info: *const deno_core::v8::FunctionCallbackInfo) { Self::slow_function_impl(info); } } impl op_use_cppgc_object_option { #[allow(clippy::too_many_arguments)] fn call(_wrap: &Wrap) {} } <op_use_cppgc_object_option as ::deno_core::_ops::Op>::DECL }