feat: JIT (WIP)
This commit is contained in:
@@ -6,7 +6,7 @@ use std::rc::Rc;
|
||||
|
||||
use derive_more::{IsVariant, Unwrap};
|
||||
|
||||
use super::common as c;
|
||||
use super::common::*;
|
||||
use super::public as p;
|
||||
|
||||
use crate::bytecode::OpCodes;
|
||||
@@ -14,14 +14,12 @@ use crate::error::*;
|
||||
use crate::vm::{Env, VM};
|
||||
|
||||
mod attrset;
|
||||
mod cnst;
|
||||
mod func;
|
||||
mod list;
|
||||
mod primop;
|
||||
mod string;
|
||||
|
||||
pub use attrset::*;
|
||||
pub use cnst::Const;
|
||||
pub use func::*;
|
||||
pub use list::List;
|
||||
pub use primop::*;
|
||||
@@ -33,7 +31,7 @@ pub enum Value<'vm> {
|
||||
ThunkRef(&'vm Thunk<'vm>),
|
||||
AttrSet(Rc<AttrSet<'vm>>),
|
||||
List(Rc<List<'vm>>),
|
||||
Catchable(c::Catchable),
|
||||
Catchable(Catchable),
|
||||
PrimOp(Rc<PrimOp<'vm>>),
|
||||
PartialPrimOp(Rc<PartialPrimOp<'vm>>),
|
||||
Func(Rc<Func<'vm>>),
|
||||
@@ -81,7 +79,7 @@ pub enum ValueAsRef<'v, 'vm: 'v> {
|
||||
Thunk(&'v Thunk<'vm>),
|
||||
AttrSet(&'v AttrSet<'vm>),
|
||||
List(&'v List<'vm>),
|
||||
Catchable(&'v c::Catchable),
|
||||
Catchable(&'v Catchable),
|
||||
PrimOp(&'v PrimOp<'vm>),
|
||||
PartialPrimOp(&'v PartialPrimOp<'vm>),
|
||||
Func(&'v Func<'vm>),
|
||||
@@ -93,7 +91,7 @@ pub enum ValueAsMut<'v, 'vm: 'v> {
|
||||
Thunk(&'v Thunk<'vm>),
|
||||
AttrSet(&'v mut AttrSet<'vm>),
|
||||
List(&'v mut List<'vm>),
|
||||
Catchable(&'v mut c::Catchable),
|
||||
Catchable(&'v mut Catchable),
|
||||
PrimOp(&'v mut PrimOp<'vm>),
|
||||
PartialPrimOp(&'v mut PartialPrimOp<'vm>),
|
||||
Func(&'v Func<'vm>),
|
||||
|
||||
Reference in New Issue
Block a user