summaryrefslogtreecommitdiff
path: root/ops/optimizer_tests/raw_ptr.out
diff options
context:
space:
mode:
Diffstat (limited to 'ops/optimizer_tests/raw_ptr.out')
-rw-r--r--ops/optimizer_tests/raw_ptr.out133
1 files changed, 133 insertions, 0 deletions
diff --git a/ops/optimizer_tests/raw_ptr.out b/ops/optimizer_tests/raw_ptr.out
index 30943d67d..f9f467ad9 100644
--- a/ops/optimizer_tests/raw_ptr.out
+++ b/ops/optimizer_tests/raw_ptr.out
@@ -1,3 +1,136 @@
+#[allow(non_camel_case_types)]
+///Auto-generated by `deno_ops`, i.e: `#[op]`
+///
+///Use `op_ffi_ptr_of::decl()` to get an op-declaration
+///you can include in a `deno_core::Extension`.
+pub struct op_ffi_ptr_of;
+#[doc(hidden)]
+impl op_ffi_ptr_of {
+ pub fn name() -> &'static str {
+ stringify!(op_ffi_ptr_of)
+ }
+ pub fn v8_fn_ptr<'scope, FP>() -> deno_core::v8::FunctionCallback
+ where
+ FP: FfiPermissions + 'static,
+ {
+ use deno_core::v8::MapFnTo;
+ Self::v8_func::<FP>.map_fn_to()
+ }
+ pub fn decl<'scope, FP>() -> deno_core::OpDecl
+ where
+ FP: FfiPermissions + 'static,
+ {
+ deno_core::OpDecl {
+ name: Self::name(),
+ v8_fn_ptr: Self::v8_fn_ptr::<FP>(),
+ enabled: true,
+ fast_fn: Some(
+ Box::new(op_ffi_ptr_of_fast::<FP> {
+ _phantom: ::std::marker::PhantomData,
+ }),
+ ),
+ is_async: false,
+ is_unstable: false,
+ is_v8: false,
+ argc: 2usize,
+ }
+ }
+ #[inline]
+ #[allow(clippy::too_many_arguments)]
+ fn call<FP>(state: &mut OpState, buf: *const u8, out: &mut [u32])
+ where
+ FP: FfiPermissions + 'static,
+ {}
+ pub fn v8_func<'scope, FP>(
+ scope: &mut deno_core::v8::HandleScope<'scope>,
+ args: deno_core::v8::FunctionCallbackArguments,
+ mut rv: deno_core::v8::ReturnValue,
+ )
+ where
+ FP: FfiPermissions + 'static,
+ {
+ let ctx = unsafe {
+ &*(deno_core::v8::Local::<deno_core::v8::External>::cast(args.data()).value()
+ as *const deno_core::_ops::OpCtx)
+ };
+ let arg_0 = {
+ let value = args.get(0usize as i32);
+ match deno_core::v8::Local::<deno_core::v8::ArrayBuffer>::try_from(value) {
+ Ok(b) => {
+ if let Some(data) = b.data() {
+ data.cast::<u8>().as_ptr()
+ } else {
+ std::ptr::null::<u8>()
+ }
+ }
+ Err(_) => {
+ if let Ok(view)
+ = deno_core::v8::Local::<
+ deno_core::v8::ArrayBufferView,
+ >::try_from(value) {
+ let offset = view.byte_offset();
+ let buffer = match view.buffer(scope) {
+ Some(v) => v,
+ None => {
+ return deno_core::_ops::throw_type_error(
+ scope,
+ format!("Expected ArrayBufferView at position {}", 0usize),
+ );
+ }
+ };
+ let store = if let Some(data) = buffer.data() {
+ data.cast::<u8>().as_ptr()
+ } else {
+ std::ptr::null_mut::<u8>()
+ };
+ unsafe { store.add(offset) }
+ } else {
+ return deno_core::_ops::throw_type_error(
+ scope,
+ format!("Expected ArrayBufferView at position {}", 0usize),
+ );
+ }
+ }
+ }
+ };
+ let arg_1 = if let Ok(view)
+ = deno_core::v8::Local::<
+ deno_core::v8::Uint32Array,
+ >::try_from(args.get(1usize as i32)) {
+ let (offset, len) = (view.byte_offset(), view.byte_length());
+ let buffer = match view.buffer(scope) {
+ Some(v) => v,
+ None => {
+ return deno_core::_ops::throw_type_error(
+ scope,
+ format!("Expected Uint32Array at position {}", 1usize),
+ );
+ }
+ };
+ if let Some(data) = buffer.data() {
+ let store = data.cast::<u8>().as_ptr();
+ unsafe {
+ ::std::slice::from_raw_parts_mut(
+ store.add(offset) as *mut u32,
+ len / 4,
+ )
+ }
+ } else {
+ &mut []
+ }
+ } else {
+ return deno_core::_ops::throw_type_error(
+ scope,
+ format!("Expected Uint32Array at position {}", 1usize),
+ );
+ };
+ let result = Self::call::<
+ FP,
+ >(&mut std::cell::RefCell::borrow_mut(&ctx.state), arg_0, arg_1);
+ let op_state = ::std::cell::RefCell::borrow(&*ctx.state);
+ op_state.tracker.track_sync(ctx.id);
+ }
+}
struct op_ffi_ptr_of_fast<FP> {
_phantom: ::std::marker::PhantomData<FP>,
}