Sergey Pepyakin 08240761d5 Compile a simple function (#2)
* Implement basics.

* Execute code

* Add wasm2wat test cases.

* abi_loc_for_arg for stack.

* Assert that sp_depth is 0 at the epilogue

* Do 32bit add.

* Assert that RAX can be used as a scratch register

* Reuse assembler.

* Align stack slots.
2018-11-08 13:56:27 -08:00
2018-11-08 13:56:27 -08:00
2018-11-08 13:56:27 -08:00
2018-10-29 12:02:01 -07:00
2018-10-29 12:02:01 -07:00
2018-11-08 13:56:27 -08:00
2018-10-29 12:02:01 -07:00
2018-10-29 12:02:01 -07:00
2018-10-29 12:02:01 -07:00

Lightbeam

This is an early-stage experimental project to build a single-pass linear-time wasm-function-to-machine-code translator.

It's currently built with dynasm and targets x86-64, however the function_body.rs/backend.rs split is likely to evolve towards a configuration point allowing other targets or even other assemblers to be supported.

It's a very early stage project, and a good one for learning how WebAssembly works at a low level, for learning assembly programming, or both! And we're happy to mentor. So welcome, and check out the issue tracker to see what's happening and how to get involved!

Description
No description provided
Readme 125 MiB
Languages
Rust 77.8%
WebAssembly 20.6%
C 1.3%