2025-09-06 10:59:33 +09:00
|
|
|
|
Cranelift JIT/AOT Dev
|
|
|
|
|
|
|
|
|
|
|
|
Focus: Cranelift JIT‑direct and AOT (object emit + link with `libnyrt.a`).
|
|
|
|
|
|
|
|
|
|
|
|
Quick AOT Smoke
|
|
|
|
|
|
|
|
|
|
|
|
- Build core (once):
|
|
|
|
|
|
- `cargo build --release --features cranelift-jit`
|
|
|
|
|
|
- Lower to object + link with NyRT:
|
2025-11-06 15:41:52 +09:00
|
|
|
|
- `NYASH_DISABLE_PLUGINS=1 tools/aot_smoke_cranelift.sh apps/smokes/jit_aot_string_min.hako app_str`
|
2025-09-06 10:59:33 +09:00
|
|
|
|
- Run app:
|
|
|
|
|
|
- `./app_str`
|
|
|
|
|
|
|
|
|
|
|
|
Useful env toggles
|
|
|
|
|
|
|
|
|
|
|
|
- `NYASH_JIT_DUMP=1`: show JIT lowering summary
|
|
|
|
|
|
- `NYASH_JIT_TRACE_LOCAL=1`: trace local slot loads/stores
|
|
|
|
|
|
- `NYASH_JIT_TRACE_RET=1`: trace return path
|
|
|
|
|
|
- `NYASH_JIT_TRACE_LEN=1`: trace string/any len thunks
|
|
|
|
|
|
- `NYASH_JIT_DISABLE_LEN_CONST=1`: disable early const‑fold for String.length
|
|
|
|
|
|
|
|
|
|
|
|
Notes
|
|
|
|
|
|
|
|
|
|
|
|
- For AOT linking: requires `libnyrt.a` from `crates/nyrt` (built by `cargo build --release`).
|
|
|
|
|
|
- Use `target/aot_objects/` as scratch; keep per‑experiment subfolders if needed.
|
|
|
|
|
|
|