Skip to content
/ miri Public
forked from rust-lang/miri

An experimental compiler from Rust to WebAssembly (inactive - do not use)

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

brson/miri

This branch is 202 commits ahead of, 16497 commits behind rust-lang/miri:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ad50c32 · Aug 22, 2018
Feb 11, 2017
Jan 4, 2017
Oct 1, 2016
Mar 2, 2017
Feb 11, 2017
May 10, 2016
Apr 14, 2016
Feb 4, 2017
Jul 2, 2016
May 10, 2016
Feb 4, 2017
Feb 4, 2017
Feb 2, 2016
Feb 2, 2016
Aug 22, 2018
Feb 4, 2017
Aug 19, 2016

Repository files navigation

mir2wasm

This project is not under development and does nothing useful. If you just want to compile Rust to WASM then the mainline Rust compiler can do that for you. Read https://rustwasm.github.io/book/

An experimental compiler from Rust to WebAssembly, based on rustc + Rust MIR.

This doesn't do anything useful yet.

Hacking notes

I recommend that you install rustup and then use it to install the current rustc nightly version:

Tested with nightly-2017-03-03

git clone https://github.com/brson/mir2wasm.git
cd mir2wasm
rustup override set nightly-2017-03-03
cargo build
cargo run -q -- rust-examples/nocore-hello-world.rs

Do println debugging with debug! so it goes to stderr and print it like:

RUST_LOG=mir2wasm cargo run -q -- rust-examples/nocore-hello-world.rs
rustc -Z unstable-options --unpretty=mir rust-examples/nocore-hello-world.rs

rustc docs.

Plug this stuff into a wast file to print something:

  (import $print_i32 "spectest" "print" (param i32))
  (export "foo" $foo)
...
    (call_import $print_i32 (get_local $1))

Resources

  • miri the MIR interpreter. mir2wasm is derived from it but shares no actual code. It probably should share code though, and there's lots to learn from miri.
  • rustc_trans::mir.
  • roadmap discussion.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

About

An experimental compiler from Rust to WebAssembly (inactive - do not use)

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 81.6%
  • TeX 17.6%
  • Other 0.8%