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:
12
Cargo.toml
12
Cargo.toml
@ -27,6 +27,12 @@ mir_refbarrier_unify_poc = []
|
||||
# llvm = ["dep:inkwell"]
|
||||
# Optional: modular MIR builder (off by default)
|
||||
mir_modular_builder = []
|
||||
cranelift-jit = [
|
||||
"dep:cranelift-codegen",
|
||||
"dep:cranelift-frontend",
|
||||
"dep:cranelift-module",
|
||||
"dep:cranelift-jit"
|
||||
]
|
||||
|
||||
[lib]
|
||||
name = "nyash_rust"
|
||||
@ -128,6 +134,12 @@ wasm-bindgen = "0.2"
|
||||
console_error_panic_hook = "0.1"
|
||||
js-sys = "0.3"
|
||||
|
||||
# Cranelift JIT (optional; enabled via feature "cranelift-jit")
|
||||
cranelift-codegen = { version = "0.103", optional = true }
|
||||
cranelift-frontend = { version = "0.103", optional = true }
|
||||
cranelift-module = { version = "0.103", optional = true }
|
||||
cranelift-jit = { version = "0.103", optional = true }
|
||||
|
||||
# WASM backend dependencies (Phase 8) - optional for faster builds
|
||||
wabt = { version = "0.10", optional = true }
|
||||
wasmtime = { version = "35.0.0", optional = true }
|
||||
|
||||
Reference in New Issue
Block a user