Skip to content

Commit

Permalink
Fixed up the Rust, removed iterator because not currently needed
Browse files Browse the repository at this point in the history
  • Loading branch information
jason-nitro committed Nov 4, 2024
1 parent ace946f commit 311bb3d
Showing 1 changed file with 14 additions and 26 deletions.
40 changes: 14 additions & 26 deletions programs/bpf_loader/src/syscalls/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ pub use self::{
SyscallGetSysvar,
},
};

#[allow(deprecated)]
use {
solana_bn254::prelude::{
Expand Down Expand Up @@ -59,6 +60,7 @@ use {
solana_type_overrides::sync::Arc,
std::{
alloc::Layout,
marker::PhantomData,
mem::{align_of, size_of},
slice::from_raw_parts_mut,
str::{from_utf8, Utf8Error},
Expand Down Expand Up @@ -230,40 +232,26 @@ pub struct VmSlice<'a, T> {
memory_mapping: &'a MemoryMapping<'a>,
ptr: u64,
len: u64,
resource_type: PhantomData<T>,
}

impl<'a, T> VmSlice<'a, T> {
pub fn new<'a, T>(memory_mapping: &'a MemoryMapping, ptr: u64, len: u64) -> Self {
VmSlice { memory_mapping, ptr, len }
pub fn new(memory_mapping: &'a MemoryMapping, ptr: u64, len: u64) -> Self {
VmSlice {
memory_mapping,
ptr,
len,
resource_type: PhantomData,
}
}

// Returns a slice using a mapped physical address
pub fn translate<'a, T>(
&self
) -> Result<&'a [T], Error> {
translate_slice(self.memory_mapping, self.ptr, self.len, false)
}

pub fn translate_mut<'a, T>(
&mut self,
) -> Result<&'a mut [T], Error> {
translate_slice_mut(self.memory_mapping, self.ptr, self.len, false)
pub fn translate(&self) -> Result<&'a [T], Error> {
translate_slice::<T>(self.memory_mapping, self.ptr, self.len, false)
}
}

impl<'a, T> Iterator for VmSlice<'a, T> {
type Item = T;

fn next(&mut self) -> Option<Self::Item> {
if self.len > 0 {
let res = translate_type(self.memory_mapping, self.ptr, false).ok();
self.ptr.saturating_add(size_of::<T>());
self.len.saturating_sub(1);
res
}
else {
None
}
pub fn translate_mut(&mut self) -> Result<&'a mut [T], Error> {
translate_slice_mut::<T>(self.memory_mapping, self.ptr, self.len, false)
}
}

Expand Down

0 comments on commit 311bb3d

Please sign in to comment.