wip(phase15): AOT修正作業中 - Nyプラグインと標準ライブラリ実装

Phase 15のAOT/ネイティブビルド修正作業を継続中。
ChatGPTによるstd実装とプラグインシステムの改修を含む。

主な変更点:
- apps/std/: string.nyashとarray.nyashの標準ライブラリ追加
- apps/smokes/: stdライブラリのスモークテスト追加
- プラグインローダーv2の実装改修
- BoxCallのハンドル管理改善
- JIT hostcall registryの更新
- ビルドスクリプト(build_aot.sh, build_llvm.sh)の調整

まだ修正作業中のため、一部の機能は不完全な状態。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Tomoaki
2025-09-06 06:24:08 +09:00
parent 020990463d
commit 7d88c04c0e
107 changed files with 4811 additions and 373 deletions

View File

@ -0,0 +1,15 @@
// AOT-safe microbench: call String.length() many times (heavy)
static box Main {
len1(s) { return s.length() }
main() {
local s = new StringBox("nyash")
local i = 0
local total = 0
// ~160k iterations重めだが実用時間内
loop(i < 160000) {
total = total + me.len1(s)
i = i + 1
}
return total
}
}

View File

@ -0,0 +1,17 @@
// AOT-safe microbench: call String.length() many times
static box Main {
len1(s) {
return s.length()
}
main() {
local s = new StringBox("nyash")
local i = 0
local total = 0
// ~10k iterations (軽量)
loop(i < 10000) {
total = total + me.len1(s)
i = i + 1
}
return total
}
}

View File

@ -0,0 +1,15 @@
// AOT-safe microbench: call String.length() many times (medium)
static box Main {
len1(s) { return s.length() }
main() {
local s = new StringBox("nyash")
local i = 0
local total = 0
// ~40k iterations
loop(i < 40000) {
total = total + me.len1(s)
i = i + 1
}
return total
}
}