Phase 20.12b: quick green + structural cleanup

- Deprecations: add warn-once for nyash.toml (runtime::deprecations); apply in plugin loader v2 (singletons/method_resolver)
- Child env + runner hygiene: unify Stage‑3/quiet/disable-fallback env in test/runner; expand LLVM noise filters
- Docs/branding: prefer  and hako.toml in README.md/README.ja.md and smokes README
- VM: implement Map.clear in MIR interpreter (boxes_map)
- Stage‑B: gate bundle/alias/require smokes behind SMOKES_ENABLE_STAGEB; fix include cwd and resolve() call even for require-only cases
- Core‑Direct: gate rc boundary canary behind SMOKES_ENABLE_CORE_DIRECT
- Smokes: inject Stage‑3 and disable selfhost fallback for LLVM runs; filter using/* logs
- Quick profile: 168/168 PASS locally

This commit accelerates Phase 20.33 (80/20) by stabilizing quick suite, reducing noise, and gating heavy/experimental paths for speed.
This commit is contained in:
nyash-codex
2025-11-02 17:50:06 +09:00
parent 0cd2342b05
commit dd6876e1c6
46 changed files with 323 additions and 209 deletions

View File

@ -170,7 +170,7 @@ static box Main {
}
}
if bundles.length() > 0 || bundle_srcs.length() > 0 {
if bundles.length() > 0 || bundle_srcs.length() > 0 || require_mods.length() > 0 {
local merged_prefix = BundleResolver.resolve(bundles, bundle_names, bundle_srcs, require_mods)
if merged_prefix == null { return 1 }
body_src = merged_prefix + body_src

View File

@ -1,4 +1,4 @@
# VM Layout (Current → Target)
# Hakorune VM Layout (Current → Target)
Current
- `lang/src/vm/hakorune-vm/` — Hakorune VM (nyvm) implementation
@ -56,7 +56,8 @@ Tag→RCCore Direct
Core Direct Toggle
- `HAKO_CORE_DIRECT=1`(互換: `NYASH_CORE_DIRECT`で、GateC(Core) の JSON 実行を "Core Dispatcher 直行" 子経路に切り替える。
- 形: 一時Hakoスクリプトに `include "lang/src/vm/core/dispatcher.hako"` を埋め込み、`NyVmDispatcher.run(json)` を実行。
- rc: 最後の数値行を rc にマップ。数値がない場合(タグ等)は rc≠0 とするFailFast)。
- rc: 子プロセスの終了コードを採用(数値戻り=rc、タグ/非数=rc≠0)。
- 判定: 直行は MIR(JSON v0)`functions``blocks` を含むに限定する。StageB Program(JSON v0) は v1 bridge→VM 実行に迂回し、直行は行わない。
- 用途: Core の診断タグや rc を CI で直接検証したい時に使用。
- Runner Core toggle: `HAKO_NYVM_CORE=1` (or `NYASH_NYVM_CORE=1`) selects the
Core bridge for the nyvm wrapper path.

View File

@ -229,7 +229,7 @@ static box NyVmOpMirCall {
_handle_console(callee, m, state) {
local name = me._read_str(callee, "name")
if name == "" { return me._fail(state, "[core/mir_call] console missing name") }
if !(name == "env.console.log" || name == "nyash.console.log" || name == "env.console.warn" || name == "nyash.console.warn" || name == "env.console.error" || name == "nyash.console.error") {
if !(name == "print" || name == "env.console.log" || name == "nyash.console.log" || name == "env.console.warn" || name == "nyash.console.warn" || name == "env.console.error" || name == "nyash.console.error") {
return me._fail(state, "[core/mir_call] unsupported global: " + name)
}
local arg_vid = me._read_arg_vid(m, 0, "[core/mir_call] console missing arg", "[core/mir_call] console bad arg")