mir2wasm

从 Rust 到 WebAssembly 的实验性编译器(非活动--请勿使用)。「An experimental compiler from Rust to WebAssembly (inactive - do not use)」

  • Owner: brson/miri
  • Platform:
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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.

Main metrics

Overview
Name With Ownerbrson/miri
Primary LanguageRust
Program languageRust (Language Count: 4)
Platform
License:Apache License 2.0
所有者活动
Created At2016-05-10 17:29:21
Pushed At2020-05-07 09:21:32
Last Commit At2018-08-22 16:35:06
Release Count0
用户参与
Stargazers Count210
Watchers Count22
Fork Count15
Commits Count487
Has Issues Enabled
Issues Count17
Issue Open Count13
Pull Requests Count43
Pull Requests Open Count3
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private