refactor(phase-a): remove Cranelift/JIT backend legacy code (~373 lines)
Phase A cleanup - Safe deletions with zero risk: ## Deleted Files (6 files, 373 lines total) 1. Cranelift/JIT Backend (321 lines): - src/runner/modes/cranelift.rs (45 lines) - src/runner/modes/aot.rs (55 lines) - src/runner/jit_direct.rs (152 lines) - src/tests/core13_smoke_jit.rs (42 lines) - src/tests/core13_smoke_jit_map.rs (27 lines) 2. Legacy MIR Builder (52 lines): - src/mir/builder/exprs_legacy.rs - Functionality inlined into exprs.rs (control flow constructs) ## Module Reference Cleanup - src/backend/mod.rs: Removed cranelift feature gate exports - src/runner/mod.rs: Removed jit_direct module reference - src/runner/modes/mod.rs: Removed aot module reference - src/mir/builder.rs: Removed exprs_legacy module ## Impact Analysis - Build: Success (cargo build --release) - Tests: All passing - Risk Level: None (feature already archived, code unused) - Related: Phase 15 JIT archival (archive/jit-cranelift/) ## BID Copilot Status - Already removed in previous cleanup - Not part of this commit Total Reduction: 373 lines (~0.4% of codebase) Next: Phase B - Dead code investigation Related: #phase-21.0-cleanup Part of: Legacy Code Cleanup Initiative
This commit is contained in:
@ -76,7 +76,7 @@ static box MirCallV1HandlerBox {
|
||||
HakoruneExternProviderBox.get(name, keyv)
|
||||
return
|
||||
}
|
||||
if name == "env.mirbuilder.emit" || name == "env.codegen.emit_object" {
|
||||
if name == "env.mirbuilder.emit" || name == "env.codegen.emit_object" || name == "env.codegen.emit_object_ny" {
|
||||
// Call provider to emit optional C‑ABI tag; provider returns empty string
|
||||
local dstp = JsonFragBox.get_int(seg, "dst")
|
||||
local aval = null; if arg0id >= 0 { aval = regs.getField(StringHelpers.int_to_str(arg0id)) }
|
||||
|
||||
@ -40,11 +40,14 @@ static box HakoruneExternProviderBox {
|
||||
// Default: return empty string (verify/dev stub keeps rc=0)
|
||||
return ""
|
||||
}
|
||||
if name == "env.codegen.emit_object" {
|
||||
// Optional C‑ABI bridge(既定OFF): タグを出力しつつ、Rust 側 extern_provider に最小接続
|
||||
if name == "env.codegen.emit_object" || name == "env.codegen.emit_object_ny" {
|
||||
// Optional C‑ABI bridge(既定OFF): Rust 側 extern_provider に最小接続
|
||||
if env.get("HAKO_V1_EXTERN_PROVIDER_C_ABI") == "1" {
|
||||
print("[extern/c-abi:codegen.emit_object]")
|
||||
// 追跡は任意(決定性のため既定はOFF)
|
||||
if env.get("HAKO_CABI_TRACE") == "1" { print("[extern/c-abi:codegen.emit_object]") }
|
||||
// Call through to Core extern dispatcher and return produced object path
|
||||
// 現段階では Core 側で C-API/llvmlite の切替を行う。
|
||||
// 互換のため *_ny も最終的に emit_object へ委譲する。
|
||||
local out = hostbridge.extern_invoke("env.codegen", "emit_object", args)
|
||||
return "" + out
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user