Commit Graph

70 Commits

Author SHA1 Message Date
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
losfair
8d8db4aa09 Starting integration. 2019-02-14 00:53:36 +08:00
losfair
7df7204e4b codegen: More opcodes 2019-02-14 00:53:06 +08:00
losfair
43df3dd546 Use System V calling convention and implement a few opcodes. 2019-02-13 20:04:10 +08:00
losfair
a69c5b4a14 stack: Helper functions and unified return types 2019-02-13 20:03:54 +08:00
losfair
4ebb22f8bc Calling conventions, value stack, and runtime stack layout. 2019-02-12 23:15:57 +08:00
losfair
2fbb5e3332 Codegen backend for x64. 2019-02-12 00:52:17 +08:00
losfair
ffc1bde3d8 Cleanup & add imports. 2019-02-12 00:52:01 +08:00
losfair
bbb27bedbe Code generation framework. 2019-02-12 00:51:49 +08:00
losfair
af19f5c097 Update dependencies. 2019-02-12 00:51:26 +08:00
losfair
9649219578 Initial work on WebAssembly parser for Dynasm backend. 2019-02-08 23:56:14 +08:00