Files
hakorune/dev/selfhosting/README.md
moe-charm b8bdb867d8 Merge selfhosting-dev into main (Core-13 pure CI/tests + LLVM bridge) (#126)
* WIP: sync before merging origin/main

* fix: unify using/module + build CLI; add missing helper in runner; build passes; core smokes green; jit any.len string now returns 3

* Apply local changes after merging main; keep docs/phase-15 removed per main; add phase-15.1 docs and tests

* Remove legacy docs/phase-15/README.md to align with main

* integration: add Core-13 pure CI, tests, and minimal LLVM execute bridge (no docs) (#125)

Co-authored-by: Tomoaki <tomoaki@example.com>

---------

Co-authored-by: Selfhosting Dev <selfhost@example.invalid>
Co-authored-by: Tomoaki <tomoaki@example.com>
2025-09-07 07:36:15 +09:00

35 lines
1.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

SelfHosting Dev (JIT / VM)
Focus: Ny → MIR → MIRInterp → VM/JIT quick loops to validate semantics and bootstrap paths.
Quickstart
- Core build (JIT):
- `cargo build --release --features cranelift-jit`
- Core smokes (plugins disabled):
- `NYASH_CLI_VERBOSE=1 ./tools/jit_smoke.sh`
- Roundtrip (parser pipe + json):
- `./tools/ny_roundtrip_smoke.sh`
- Plugins smoke (optional gate):
- `NYASH_SKIP_TOML_ENV=1 ./tools/smoke_plugins.sh`
- Using/Resolver E2E sample (optional):
- `./tools/using_e2e_smoke.sh` (requires `--enable-using`)
- Bootstrap c0→c1→c1' (optional):
- `./tools/bootstrap_selfhost_smoke.sh`
Docs
- Onepage guide: `docs/self-hosting.md`
Flags
- `NYASH_DISABLE_PLUGINS=1`: stabilize core path
- `NYASH_LOAD_NY_PLUGINS=1`: enable nyash.toml ny_plugins
- `NYASH_ENABLE_USING=1`: using/namespace enable
- `NYASH_SKIP_TOML_ENV=1`: suppress [env] mapping in nyash.toml
Tips
- For debug, set `NYASH_CLI_VERBOSE=1`.
- Keep temp artifacts under this folder (`dev/selfhosting/_tmp/`) to avoid polluting repo root.