feat: JIT (WIP)
This commit is contained in:
16
src/stack.rs
16
src/stack.rs
@@ -3,11 +3,6 @@ use std::ops::Deref;
|
||||
|
||||
use crate::error::*;
|
||||
|
||||
pub struct Stack<T, const CAP: usize> {
|
||||
items: [MaybeUninit<T>; CAP],
|
||||
top: usize,
|
||||
}
|
||||
|
||||
macro_rules! into {
|
||||
($e:expr) => {
|
||||
// SAFETY: This macro is used to transmute `MaybeUninit<Value<'vm>>` to `Value<'vm>`
|
||||
@@ -18,6 +13,17 @@ macro_rules! into {
|
||||
};
|
||||
}
|
||||
|
||||
pub struct Stack<T, const CAP: usize> {
|
||||
items: [MaybeUninit<T>; CAP],
|
||||
top: usize,
|
||||
}
|
||||
|
||||
impl<T, const CAP: usize> Default for Stack<T, CAP> {
|
||||
fn default() -> Self {
|
||||
Self::new()
|
||||
}
|
||||
}
|
||||
|
||||
impl<T, const CAP: usize> Stack<T, CAP> {
|
||||
pub fn new() -> Self {
|
||||
Stack {
|
||||
|
||||
Reference in New Issue
Block a user