Files
hakorune/.github/workflows/vm-jit-identical.yml
Moe Charm 773256380d Phase 12: VM/JIT identical execution tests + host API slot routing
ChatGPT5による統一実行パス実装:
- VM/JIT同一実行テスト追加(Array/Map/String/Instance)
- host_api slot経由呼び出し(NYASH_JIT_HOST_BRIDGE=1)
- extern_registry拡張(console系メソッドslot登録)
- CI: vm-jit-identical.yml(STRICT/非STRICT両系テスト)
- InstanceBox getField/setField slot 1,2統一

技術的改善:
- JIT: ops_ext委譲による統一メソッド解決
- VM: vtable/PIC/名前ベースフォールバック階層
- host_bridge: TLV encode/decode BoxRef対応
- C ABI: nyrt_host_api.h外部公開ヘッダー

テスト追加:
- identical_exec_collections: Array/Map操作一致
- identical_exec_instance: ユーザー定義Box一致
- identical_exec_string: StringBox操作一致
- host_reverse_slot: 逆引きslot解決テスト

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-03 09:12:39 +09:00

42 lines
1.1 KiB
YAML

name: VM-JIT Identical Execution
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
strict: ["0", "1"]
vt: ["0", "1"]
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Cargo test (subset, with JIT feature)
env:
RUSTFLAGS: "-C debuginfo=0"
NYASH_ABI_STRICT: ${{ matrix.strict }}
NYASH_ABI_VTABLE: ${{ matrix.vt }}
NYASH_JIT_HOST_BRIDGE: "1"
NYASH_EXTERN_ROUTE_SLOTS: "1"
NYASH_VM_PIC_THRESHOLD: "8"
run: |
cargo test --features cranelift-jit \
src/tests/identical_exec.rs \
src/tests/identical_exec_collections.rs \
src/tests/identical_exec_string.rs \
src/tests/identical_exec_instance.rs \
src/tests/vtable_array_string.rs \
src/tests/vtable_strict.rs \
src/tests/host_reverse_slot.rs \
-- --nocapture