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>
42 lines
1.1 KiB
YAML
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
|