Commit Graph

88 Commits

Author SHA1 Message Date
Jef
ea1ec9491e Don't use cmov (no need) 2019-04-24 09:16:38 +02:00
Jef
a2ef962ed7 Fix shift's incorrect register freeing logic 2019-04-17 16:06:51 +02:00
Jef
82e810c8d2 Avoid emitting tests on select 2019-04-17 15:47:22 +02:00
Jef
ced654f907 Allow register allocation to fail 2019-04-17 15:13:38 +02:00
Jef
762cd3fb32 rustfmt 2019-03-28 10:22:43 +01:00
Jef
a8bb9fd634 Use latest wasmparser instead of fork 2019-03-28 10:14:40 +01:00
Jef
79f26328d4 Improve efficiency of resetting stack pointer 2019-03-27 12:57:49 +01:00
Jef
652e2fdeec Fix some places that could have caused panics, update example assembly in readme 2019-03-27 12:44:51 +01:00
Jef
d50f075078 Add CondCode location so we can branch much more efficiently 2019-03-27 12:22:57 +01:00
Jef
11b26430b6 Fix on latest nightly 2019-03-27 10:06:54 +01:00
Jef
1ff22de331 Remove unused code 2019-03-26 17:50:03 +01:00
Jef
96df539554 Remove unused code 2019-03-26 17:40:57 +01:00
Jef
cf9c57e279 Fix br_if calling convention handling 2019-03-26 10:29:55 +01:00
Jef
3798890d71 Fix inter-function calls assuming that functions are allocated sequentially 2019-03-26 09:01:09 +01:00
Jef
791ccf84b4 Free up registers where possible 2019-03-21 13:33:00 +01:00
Jef
4eb546c6a5 Fix conversions trapping and fix some weirdness around conditional jumps 2019-03-21 11:47:50 +01:00
Jef
14bff9229e Fix conversions 2019-03-20 18:38:32 +01:00
Jef
6b8ff11854 Implement imported mutable globals 2019-03-20 10:57:55 +01:00
Jef
e4752aae3d Several fixes, implement imported globals 2019-03-19 15:22:05 +01:00
Jef
36ec29b048 Fix imported memories 2019-03-18 21:17:18 +01:00
Jef
4e48dad9b6 Add host calls 2019-03-18 19:41:36 +01:00
Jef
dc42a58277 Fix double-free'd registers in call_direct 2019-03-18 11:16:32 +01:00
Jef
a8a26b5948 Fix some float issues 2019-03-16 13:04:49 +01:00
Jef
4d537f703d Fix copysign 2019-03-15 15:15:40 +01:00
Jef
e4260d1f6e Add more float ops 2019-03-15 13:13:34 +01:00
Jef
938d7701d9 Add float equality 2019-03-15 12:23:12 +01:00
Jef
1eb419cdda Implement memory.size/memory.grow, globals, call_indirect 2019-03-15 11:51:11 +01:00
Jef
a9ab1a1467 Add conversions, update tests in readme 2019-03-12 18:29:01 +01:00
Jef
5ae789ab7b Fix div and rem 2019-03-12 16:26:58 +01:00
Jef
45ccc591cd Fix br_if and br_table 2019-03-07 13:21:04 +01:00
Jef
a4e878da75 Add more store instructions 2019-03-06 14:03:40 +01:00
Jef
71662af0fa Integer division 2019-02-28 18:09:22 +01:00
Jef
677d54e46d Experimental br_table support 2019-02-27 17:59:27 +01:00
Jef
15bf933be7 Add more float operations 2019-02-27 11:29:23 +01:00
Jef
f726a8f36d Add float operations 2019-02-25 15:35:45 +01:00
Jef
ab6b8e983a Add floats 2019-02-25 11:17:21 +01:00
Jef
830644e7d0 Remove printlns, make pushing stack arguments work properly 2019-02-19 15:44:04 +01:00
Jef
f1d9ccb9e8 Implement Microwasm 2019-02-19 14:51:30 +01:00
Jef
680a8ed585 Add select 2019-02-08 13:24:59 +01:00
Jef
7e5c3c567f Signature checking for call_indirect, integrate with wasmtime 2019-02-08 11:46:25 +01:00
Jef
2fad984a0d Shift and rotate 2019-01-30 11:06:32 +01:00
Jef
26cb8de303 Only generate a single trap to reduce code size and complexity in call_indirect 2019-01-18 16:59:29 +01:00
Jef
2c8efa32b8 Unnecessarily optimise asm_println 2019-01-18 14:03:23 +01:00
Jef
c7956dbdb2 Fail if we try to call past the end of the table 2019-01-18 14:01:12 +01:00
Jef
b6e29a899e Add todo comments 2019-01-18 13:07:41 +01:00
Jef
b23e00893c Fix saving volatile registers now that we use unused args as scratch 2019-01-18 13:04:53 +01:00
Jef
e57cec3b3f Do call_indirect properly, by accessing the table section 2019-01-18 13:01:42 +01:00
Jef
d06be92a4e Don't allocate context if it's unused 2019-01-17 14:34:34 +01:00
Jef
e0f032a0e5 clz/ctz/popcnt 2019-01-17 13:51:18 +01:00
Jef
74d168ec4b Merge ends, store locals in registers where possible 2019-01-17 11:07:51 +01:00