feat: Phase 10_b JIT implementation progress + academic paper ideas
Phase 10_b JIT Lower implementation: - IRBuilder abstraction with NoopBuilder (emit counting) ✅ - CraneliftBuilder skeleton (feature `cranelift-jit`) ✅ - LowerCore implementation (Const/Copy/BinOp/Cmp/Branch/Ret) ✅ - Engine.compile with builder selection and JIT handle generation ✅ - JIT function table with stub functions ✅ - Basic i64 const/binop/ret emission for Cranelift - VM execution path with NYASH_JIT_EXEC=1 support Academic ideas and analysis: - "Everything is Thread-Safe Box" concept - "GC as debug tool" paradigm analysis - GC switchable semantic equivalence documentation - Gemini & Codex evaluation on academic paper potential - Nyash academic papers potential themes Current limitations: - Return values limited to i64 (VMValue::Integer) - Arguments not yet supported - Compare/Branch emit not implemented - Trap→VM fallback not implemented 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -13,7 +13,7 @@ use super::vm::VMValue;
|
||||
|
||||
/// Minimal dispatcher that routes a single instruction to the appropriate handler.
|
||||
/// Keeps behavior identical to the big match in vm.rs but centralized here.
|
||||
pub fn execute_instruction(vm: &mut VM, instruction: &MirInstruction, debug_global: bool) -> Result<ControlFlow, VMError> {
|
||||
pub(super) fn execute_instruction(vm: &mut VM, instruction: &MirInstruction, debug_global: bool) -> Result<ControlFlow, VMError> {
|
||||
match instruction {
|
||||
// Basic operations
|
||||
MirInstruction::Const { dst, value } => vm.execute_const(*dst, value),
|
||||
|
||||
Reference in New Issue
Block a user