Commit Graph

60 Commits

Author SHA1 Message Date
losfair
99faa79869 Run cargo fmt. 2019-03-18 00:31:36 +08:00
losfair
fcfde7352a Use R15 as temporary register. 2019-03-17 21:27:19 +08:00
losfair
7394df2fd8 FIx floating point trunc's. 2019-03-17 19:54:20 +08:00
losfair
d8d39c309c Fix warnings. 2019-03-17 10:54:50 +08:00
losfair
f8fe999015 Implemented protected call and floating point traps; passing all spectests! 2019-03-17 10:27:14 +08:00
losfair
1f8c644855 Merge remote-tracking branch 'private/feature/dynasm-backend' into feature/dynasm-backend 2019-03-17 03:08:06 +08:00
losfair
81af8cfa9c Fixed several bugs in the single-pass backend and implemented a runtime resolver that allows to call managed functions with System V cc. 2019-03-17 03:07:27 +08:00
Syrus
53a8fca4d5 Make wasmer executable work with dynasm 2019-03-16 11:52:11 -07:00
losfair
1b5ea9bece Passes all assert_return(_*) tests. 2019-03-15 01:10:31 +08:00
losfair
1104073641 Implemented more floating point operations. 2019-03-14 19:10:22 +08:00
losfair
4d2b6a0efe Add Copy + Clone for IfElseState 2019-03-14 17:11:48 +08:00
losfair
592c3fb938 Fixes and some floating point operations. 2019-03-14 17:11:35 +08:00
losfair
d80ea47ffc FIx bugs found with spectests. 2019-03-14 10:30:24 +08:00
losfair
179bbf9e41 Fix integer division. 2019-03-14 09:15:25 +08:00
losfair
d4ded2cf07 Fix bugs found when running spectests. 2019-03-13 18:23:50 +08:00
Brandon Fish
a5bab8cdf6 Updates to compile dynasm after merge from master 2019-03-12 20:59:10 -05:00
Brandon Fish
1fc7b31309 Add missing trait items to DynasmCompiler so that cargo build --all works 2019-03-12 19:39:10 -05:00
losfair
683cb2090c Fix call_indirect. 2019-03-12 11:31:55 +08:00
losfair
25034ece07 Almost finished indirect calls. 2019-03-09 02:57:23 +08:00
losfair
3efccbe0f7 Support imported globals. 2019-03-09 00:38:13 +08:00
losfair
4c4743e7cd Globals. 2019-03-09 00:32:18 +08:00
losfair
258dea64d8 Fix calling imports. 2019-03-09 00:07:13 +08:00
losfair
12c213739a Hack around calling imports. Not yet working. 2019-03-08 01:31:37 +08:00
losfair
27b2061ffd Implemented missing integer operators and fixed division. 2019-03-06 01:16:24 +08:00
losfair
bd7698e1f2 64-bit operators. 2019-03-05 00:59:05 +08:00
losfair
fa61b66516 Strongly type scratch registers and fixed an unwinding issue. 2019-03-05 00:23:49 +08:00
losfair
aa75994e2f Add memory opcodes and test. 2019-03-02 01:41:31 +08:00
losfair
e026adf33e Initial work on linear memory. 2019-02-28 23:58:02 +08:00
losfair
64142c4cb8 Reserve R15. 2019-02-28 23:22:21 +08:00
losfair
b7ca5e46ed Add Select opcode. 2019-02-28 23:12:42 +08:00
losfair
d50f1cc95f If/Else. 2019-02-27 23:38:45 +08:00
losfair
3c3c5db2e1 Native trampolines. 2019-02-26 20:56:10 +08:00
losfair
9d8c5a5c70 Add a note on incorrect code generation. 2019-02-25 23:57:12 +08:00
losfair
530294922a Allow more registers to be used. 2019-02-25 23:55:27 +08:00
losfair
78fd995ad3 Fix argument passing at entry. 2019-02-25 23:38:33 +08:00
losfair
80812e3809 Implement native call & fix stack alignment. 2019-02-25 23:29:18 +08:00
losfair
2432a6c9b3 Fix function calls. 2019-02-25 22:47:27 +08:00
losfair
dbebdf937f Code generation for br_table. 2019-02-24 12:00:35 +08:00
losfair
09cbd4aeb0 Changed to using custom calling conventions; Implemented direct calls. 2019-02-24 00:52:32 +08:00
losfair
e9c0325784 Update dependencies 2019-02-24 00:51:47 +08:00
losfair
08a2ec82b3 Unary operators, comparison opcodes, loops, etc. 2019-02-23 01:54:16 +08:00
losfair
7c439932f1 Block and conditional branch. 2019-02-21 22:04:43 +08:00
losfair
63b3f41f05 Handle unreachable and fix return. 2019-02-21 21:14:10 +08:00
losfair
6f97ebd5f7 Remove a hack in parser. 2019-02-21 21:12:58 +08:00
losfair
aaabbf169c Operator::Br and control stack fixes 2019-02-20 23:21:33 +08:00
losfair
61c83507a4 Control frames, jumps & stack unwinding. 2019-02-20 22:56:32 +08:00
losfair
93d2713bde Operators. 2019-02-19 20:25:09 +08:00
losfair
5583e96d96 Mitigate a bug that causes incorrect code generation.
Still need to figure out why R8 and higher registers don't work.
2019-02-19 19:19:40 +08:00
losfair
bb52a4e6eb Now we can run add! 2019-02-15 02:21:52 +08:00
losfair
1526d35872 Emit a Return opcode if the last one is not return. 2019-02-15 02:21:04 +08:00