Commit Graph

55 Commits

Author SHA1 Message Date
c21b3c79c7 Fix names of atomic load and store opcodes 2026-03-15 20:04:49 +00:00
1318c3cc4e Add i64.const, i32.div_s and i32.rem_s opcodes 2026-03-15 20:04:27 +00:00
74a8f21379 Encode indices as unsigned LEB128 instead of signed 2026-03-15 20:04:06 +00:00
6784cd02b4 Encode section lengths with unsigned LEB128 2026-03-15 20:03:47 +00:00
3a103c46d1 Don't require ; to have space after in comments 2026-03-15 17:32:14 +00:00
8d4c53ca92 Allow implicit zero-init for globals 2026-03-15 14:26:22 +00:00
5e39024f6d Use unsigned shift in uleb128() 2026-03-15 14:15:40 +00:00
b85a4e8bc9 Encode data values in assembler, not parser 2026-03-15 14:15:34 +00:00
401e8e1fad Use unsigned right shift in Assembler.le() 2026-03-15 14:07:26 +00:00
d4c837216a Add f32 type 2026-03-15 13:58:33 +00:00
c93e9009da LEB128-encode index in action_symbol 2026-03-15 13:58:25 +00:00
0056610238 Add missing semicolon 2026-03-15 13:58:24 +00:00
9b4ff3e8f6 Use array flattening instead of spread operator in a few places 2026-03-15 13:58:23 +00:00
e9beacba3a De-duplicate consecutive locals of same type in wasm_section_code() 2026-03-15 13:58:23 +00:00
acf5b6e284 Handle failed def lookup in action_data() 2026-03-15 13:58:22 +00:00
72c5f64312 Handle global init value encoding in Assembler 2026-03-15 13:58:20 +00:00
7135eeba74 Restructure uleb128 2026-03-15 13:41:39 +00:00
7099ca34a3 Fix .word size 2026-03-15 13:41:05 +00:00
3ebb74c73c Check for null explicitly in token_top() 2026-03-15 13:40:43 +00:00
0dd2a925d8 Allow table elems to be labelled 2026-03-15 12:34:41 +00:00
2155d17731 Implement type, table and func symbol resolution 2026-03-15 12:28:29 +00:00
1452ffe615 Implement .table and .elem 2026-03-15 12:14:35 +00:00
46a571be93 Add error message for unhandled states and actions 2026-03-15 11:09:16 +00:00
d35b13fed0 Add .type directive 2026-03-15 11:05:37 +00:00
a3cfd405a9 Add some threads opcodes 2026-03-14 19:30:44 +00:00
671e7f60d2 Add a bunch of opcodes 2026-03-14 19:30:43 +00:00
580d5d2a4a Implement function type de-duplication 2026-03-14 19:23:02 +00:00
1105daaad0 Add support for extended opcodes 2026-03-14 19:23:00 +00:00
347dd8f534 Make all sections optional 2026-03-14 18:36:21 +00:00
f4433ce3a3 LEB128-encode addresses in data section 2026-03-14 18:35:33 +00:00
714973f052 LEB128-encode values from defs 2026-03-14 18:29:55 +00:00
4f878fdbab Add suport for block/loop/if/else 2026-03-14 18:26:12 +00:00
9fb3910a16 Allow defs to reference other defs 2026-03-14 15:04:25 +00:00
22dc1fc0ca Add support for labels 2026-03-14 14:52:44 +00:00
cc51b2d7be Fix data word size 2026-03-14 14:50:40 +00:00
902404cb10 Fix string interpolation in error messages 2026-03-14 14:01:09 +00:00
d4718f1106 Allow using defs in code 2026-03-14 13:59:42 +00:00
33f5a4be06 Fix bug in local lookup 2026-03-14 13:59:41 +00:00
e2429b2b03 Enable using defs in .byte and .word directives 2026-03-14 13:52:00 +00:00
2972030d0a Add .def support 2026-03-14 13:48:37 +00:00
2c3e5f46da Implement .align directive 2026-03-14 13:48:36 +00:00
93f3dd1f41 Implement .utf directive 2026-03-14 13:48:35 +00:00
cfa4fa7d4f Add .word directive 2026-03-14 13:48:34 +00:00
94cee7d258 Fix string interpolation in error messages 2026-03-14 13:48:33 +00:00
092d870a9c Implement .byte directive 2026-03-14 13:48:33 +00:00
6db71ee382 Add .at directive 2026-03-14 11:56:30 +00:00
118e6af896 Add support for globals (mutable only)
I'm planning on adding symbolic constants to the assembler, so I won't
really have much use for immutable globals.
2026-03-10 19:56:49 +00:00
1c4b9f850a Add support for imports (memory only) 2026-03-10 19:54:16 +00:00
672a453f6c Add string support to tokenizer 2026-03-10 17:53:58 +00:00
5a3084dd16 Implement .mem directive 2026-03-10 15:33:41 +00:00