phase-20.39 step1: introduce typed IR shadow in hv1 dispatcher; step2: remove hv1 include fallback from verify (direct route only); add IR types module export; docs+current_task updated
This commit is contained in:
@ -269,17 +269,6 @@ verify_mir_rc() {
|
||||
if [ "${HAKO_VERIFY_V1_FORCE_CORE:-0}" = "1" ]; then
|
||||
"$NYASH_BIN" --mir-json-file "$json_path" >/dev/null 2>&1; return $?
|
||||
fi
|
||||
# Inline driver (env JSON): avoid embedding large JSON literal to keep parser robust
|
||||
local code_v1=$(cat <<'HCODE'
|
||||
using selfhost.vm.hv1.dispatch as NyVmDispatcherV1Box
|
||||
static box Main { method main(args) {
|
||||
local j = env.get("NYASH_VERIFY_JSON")
|
||||
local rc = NyVmDispatcherV1Box.run(j)
|
||||
print("" + rc)
|
||||
return rc
|
||||
} }
|
||||
HCODE
|
||||
)
|
||||
# hv1 直行(NyashParserバイパス): vm.rs冒頭で NYASH_VERIFY_JSON を検知して MIR 実行
|
||||
local out_v1; out_v1=$(HAKO_V1_FLOW_TRACE=1 HAKO_V1_EXTERN_PROVIDER=1 HAKO_V1_DISPATCHER_FLOW=1 HAKO_V1_ALLOW_PHI_EXPERIMENT=1 \
|
||||
HAKO_FAIL_FAST_ON_HAKO_IN_NYASH_VM=0 HAKO_ROUTE_HAKOVM=1 \
|
||||
@ -288,28 +277,6 @@ HCODE
|
||||
if [[ "$out_v1" =~ ^-?[0-9]+$ ]]; then
|
||||
local n=$out_v1; if [ $n -lt 0 ]; then n=$(( (n % 256 + 256) % 256 )); else n=$(( n % 256 )); fi; return $n
|
||||
fi
|
||||
# Optional dev fallback: prelude_v1 include + preinclude(alias-only が安定したら撤去)
|
||||
if [ "${SMOKES_HV1_INCLUDE_FALLBACK:-0}" = "1" ]; then
|
||||
local code_v1_inc=$(cat <<'HCODE'
|
||||
include "lang/src/vm/hakorune-vm/prelude_v1.hako"
|
||||
static box Main { method main(args) {
|
||||
local j = env.get("NYASH_VERIFY_JSON")
|
||||
local rc = NyVmDispatcherV1Box.run(j)
|
||||
print("" + rc)
|
||||
return rc
|
||||
} }
|
||||
HCODE
|
||||
)
|
||||
out_v1=$(HAKO_ENABLE_USING=1 NYASH_ENABLE_USING=1 NYASH_USING_AST=1 \
|
||||
HAKO_PREINCLUDE=1 NYASH_PREINCLUDE=1 \
|
||||
HAKO_V1_FLOW_TRACE=1 HAKO_V1_EXTERN_PROVIDER=1 HAKO_V1_DISPATCHER_FLOW=1 HAKO_V1_ALLOW_PHI_EXPERIMENT=1 \
|
||||
HAKO_FAIL_FAST_ON_HAKO_IN_NYASH_VM=0 \
|
||||
NYASH_VERIFY_JSON="$(cat "$json_path")" \
|
||||
run_nyash_vm -c "$code_v1_inc" 2>/dev/null | tr -d '\r' | awk '/^-?[0-9]+$/{n=$0} END{if(n!="") print n}')
|
||||
if [[ "$out_v1" =~ ^-?[0-9]+$ ]]; then
|
||||
local n=$out_v1; if [ $n -lt 0 ]; then n=$(( (n % 256 + 256) % 256 )); else n=$(( n % 256 )); fi; return $n
|
||||
fi
|
||||
fi
|
||||
# No include+preinclude fallback succeeded → Core にフォールバック
|
||||
"$NYASH_BIN" --mir-json-file "$json_path" >/dev/null 2>&1
|
||||
return $?
|
||||
|
||||
Reference in New Issue
Block a user