phase: 20.49 COMPLETE; 20.50 Flow+String minimal reps; 20.51 selfhost v0/v1 minimal (Option A/B); hv1-inline binop/unop/copy; docs + run_all + CURRENT_TASK -> 21.0

This commit is contained in:
nyash-codex
2025-11-06 15:41:52 +09:00
parent 2dc370223d
commit 77d4fd72b3
1658 changed files with 6288 additions and 2612 deletions

View File

@ -70,7 +70,7 @@ fn load_builtin_plugins(&mut self) {
#### 2.2 テストプログラム
```nyash
// test_array_plugin.nyash
// test_array_plugin.hako
local arr
arr = new ArrayBox() // プラグイン版を呼ぶ
print(arr.length()) // 0が出力されれば成功
@ -78,7 +78,7 @@ print(arr.length()) // 0が出力されれば成功
#### 2.3 VM実行
```bash
./target/release/nyash --backend vm test_array_plugin.nyash
./target/release/nyash --backend vm test_array_plugin.hako
```
### Step 3: JIT動作確認
@ -97,7 +97,7 @@ match box_type {
#### 3.2 JIT実行テスト
```bash
NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 ./target/release/nyash --backend vm test_array_plugin.nyash
NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 ./target/release/nyash --backend vm test_array_plugin.hako
```
### Step 4: 段階的移行
@ -123,7 +123,7 @@ if env::var("NYASH_USE_PLUGIN_BUILTINS").is_ok() {
#### 5.1 ベンチマーク作成
```nyash
// bench_array_ops.nyash
// bench_array_ops.hako
local arr = new ArrayBox()
local start = Timer.now()
loop(i in 0..1000000) {
@ -136,10 +136,10 @@ print("Time: " + elapsed)
#### 5.2 比較測定
```bash
# 従来版
./target/release/nyash --benchmark bench_array_ops.nyash
./target/release/nyash --benchmark bench_array_ops.hako
# プラグイン版
NYASH_USE_PLUGIN_BUILTINS=1 ./target/release/nyash --benchmark bench_array_ops.nyash
NYASH_USE_PLUGIN_BUILTINS=1 ./target/release/nyash --benchmark bench_array_ops.hako
```
## 🎯 成功基準
@ -169,10 +169,10 @@ NYASH_USE_PLUGIN_BUILTINS=1 ./target/release/nyash --benchmark bench_array_ops.n
```bash
# プラグインロード確認
NYASH_DEBUG_PLUGIN=1 ./target/release/nyash test.nyash
NYASH_DEBUG_PLUGIN=1 ./target/release/nyash test.hako
# JIT呼び出し確認
NYASH_JIT_EVENTS=1 ./target/release/nyash --backend vm test.nyash
NYASH_JIT_EVENTS=1 ./target/release/nyash --backend vm test.hako
```
---