Jef
0d1c4f3290
Allow calling functions with any signature
2018-12-17 21:55:03 -08:00
Sergey Pepyakin
5511f92088
Add call alignment requirement.
2018-12-14 12:07:50 -05:00
Sergey Pepyakin
23476e82ff
Fix typo.
2018-12-14 12:07:50 -05:00
Sergey Pepyakin
aab191b460
Comment FuncDef.
2018-12-14 12:07:50 -05:00
Sergey Pepyakin
94e2f0c2a5
Add the fib test.
2018-12-14 12:07:50 -05:00
Sergey Pepyakin
d6b300c87f
Implement returns.
2018-12-14 12:07:50 -05:00
Sergey Pepyakin
38590cbcb9
Add i32 literals support.
2018-12-14 12:07:50 -05:00
Sergey Pepyakin
a3719e08e5
Pass arguments.
2018-12-14 12:07:50 -05:00
Sergey Pepyakin
eb60c2587a
Basic form of a function call
2018-12-14 12:07:50 -05:00
Sergey Pepyakin
635ccc6916
Introduce TranslationContext
2018-12-14 12:07:50 -05:00
Sergey Pepyakin
f22b9903b6
Pass function sig in function_body::translate
2018-12-14 12:07:50 -05:00
Sergey Pepyakin
13c36612b5
increment → reserve.
2018-11-28 05:45:25 -08:00
Sergey Pepyakin
aa5643b9b5
Implement if then else
2018-11-28 05:45:25 -08:00
Sergey Pepyakin
ba216b2e8a
Add a simple i32.eq operator.
2018-11-28 05:45:25 -08:00
Sergey Pepyakin
b42696f207
Add a simple boilerplate.
2018-11-28 05:45:25 -08:00
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
Dan Gohman
154b35ecc1
Initial experiment.
2018-10-29 12:02:01 -07:00