feat: JIT (WIP)

This commit is contained in:
2025-05-17 20:54:36 +08:00
parent c3d365d486
commit 95ebddf272
15 changed files with 175 additions and 274 deletions

View File

@@ -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 {