P5.7 Step C: delete interp.zig — the comptime VM is the sole evaluator
The legacy tagged-Value Interpreter is gone. Relocate the Value result-DTO
+ decodeVariantElements into a new comptime_value.zig (the VM<->host
materialization boundary); repoint comptime_vm/emit_llvm/ir-barrel Value to
it and BuildConfig to compiler_hooks; delete the dead valueToReg bridge;
slim compiler_lib.zig to just the name registry (BoundFn{sx_name} + bound_fns
+ findFn — weldedCompilerFn only validates names); simplify printInterpBailDiag
to comptime_vm.last_bail_reason; drop the unused interp_mod import in lower.zig.
rm src/ir/interp.zig + interp.test.zig.
Value is relocated (not eliminated): it survives only as the slim result DTO
at the VM->valueToLLVMConst boundary; the execution-time marshaling the VM
pivot targeted is gone. Drop dead Value.asString/reflectTypeId.
706/0 corpus + 476/476 unit.
This commit is contained in:
@@ -29,8 +29,8 @@ const Function = ir_inst.Function;
|
||||
const Global = ir_inst.Global;
|
||||
const ir_module = @import("module.zig");
|
||||
const Module = ir_module.Module;
|
||||
const interp_mod = @import("interp.zig");
|
||||
const Value = interp_mod.Value;
|
||||
const compiler_hooks = @import("compiler_hooks.zig");
|
||||
const Value = @import("comptime_value.zig").Value;
|
||||
const comptime_vm = @import("comptime_vm.zig");
|
||||
const build_opts = @import("build_opts");
|
||||
|
||||
@@ -210,7 +210,7 @@ pub const LLVMEmitter = struct {
|
||||
target_config: TargetConfig,
|
||||
|
||||
// Build configuration accumulated from #run blocks
|
||||
build_config: interp_mod.BuildConfig,
|
||||
build_config: compiler_hooks.BuildConfig,
|
||||
|
||||
// ── DWARF debug info (ERR E3.0) ──────────────────────────────────
|
||||
// Emitted only when the build keeps error traces (opt_level
|
||||
|
||||
Reference in New Issue
Block a user