aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/rt.rs
diff options
context:
space:
mode:
authorJohannes Stoelp <johannes.stoelp@gmail.com>2023-03-05 22:20:48 +0100
committerJohannes Stoelp <johannes.stoelp@gmail.com>2023-03-05 22:20:48 +0100
commit8316b628bbc9945fd1d08305317cf49a6482801f (patch)
treeffc730d9ad9a131a2dbe54d41a4ab026e06f1ff3 /src/rt.rs
parent005fca316085c3a2ce3e43b92531f006a15fbdd2 (diff)
downloadjuicebox-asm-8316b628bbc9945fd1d08305317cf49a6482801f.tar.gz
juicebox-asm-8316b628bbc9945fd1d08305317cf49a6482801f.zip
Added CALL and call extern fn example
Diffstat (limited to 'src/rt.rs')
-rw-r--r--src/rt.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/rt.rs b/src/rt.rs
index 1e9289e..7b5f74b 100644
--- a/src/rt.rs
+++ b/src/rt.rs
@@ -11,7 +11,7 @@ pub struct Runtime {
impl Runtime {
/// Create a new [Runtime].
- pub fn new(code: &[u8]) -> Runtime {
+ pub fn new(code: impl AsRef<[u8]>) -> Runtime {
// Allocate a single page.
let len = core::num::NonZeroUsize::new(4096).unwrap();
let buf = unsafe {
@@ -27,6 +27,7 @@ impl Runtime {
};
{
// Copy over code.
+ let code = code.as_ref();
assert!(code.len() < len.get());
unsafe { std::ptr::copy_nonoverlapping(code.as_ptr(), buf.cast(), len.get()) };
}