100 Commits
Author SHA1 Message Date
cdo 956d42d008 Create assembler driver script for recording word addresses 2026-03-20 12:40:09 +00:00
cdo 87d8345017 Run profiler while prelude is loading 2026-03-19 22:03:46 +00:00
cdo d39fe580fc Implement sampling profiler 2026-03-19 22:03:36 +00:00
cdo ba8c99a123 Mirror IP and RSP regs in memory
This will allow the profiler to sample the current return stack and
instruction pointer.  It can't just use the ip and rsp globals
directly, as I had initially planned, since these cannot be sent
in between threads.
2026-03-19 22:01:51 +00:00
cdo cc8ae742f0 Add more opcodes to assembler 2026-03-19 22:01:33 +00:00
cdo 812443d6ee Support exports of globals in assembler 2026-03-19 19:53:50 +00:00
cdo 67fc1d8d7b Remove race condition between assemble and prelude load prints 2026-03-18 15:17:08 +00:00
cdo 4000522b3a Remove obsolete assembly driver script 2026-03-18 15:08:57 +00:00
cdo 19ef69958d Update README 2026-03-18 15:04:32 +00:00
cdo 0a52388030 Update deploy manifest 2026-03-18 14:25:11 +00:00
cdo 6e8439eeaf Bump version number 2026-03-18 14:24:41 +00:00
cdo eaa3242cc0 Update e2e tests 2026-03-18 14:24:25 +00:00
cdo f77adffbef Update MIME types in server.scm 2026-03-18 14:24:05 +00:00
cdo c91f46be88 Assemble kernel on client 2026-03-18 14:23:37 +00:00
cdo 6ee4adfea5 Translate kernel to Wasmasm 2026-03-18 10:41:09 +00:00
cdo 5dc0a7a601 Add temporary driver script 2026-03-18 10:35:14 +00:00
cdo 896a1ca563 Implement (limited) forward reference handling 2026-03-18 10:32:49 +00:00
cdo 37d56988ef Make a couple of tweaks to the kernel in preparation for porting 2026-03-18 10:30:26 +00:00
cdo 6c643f8402 Don't silently ignore trailing characters in numbers 2026-03-18 10:29:46 +00:00
cdo 7828b0f112 Yield newline token at end of comment 2026-03-15 21:39:14 +00:00
cdo e7affbf8b7 Add .zero directive 2026-03-15 21:28:25 +00:00
cdo 02ee4c3c88 Support symbols in .at address field 2026-03-15 21:27:48 +00:00
cdo c21b3c79c7 Fix names of atomic load and store opcodes 2026-03-15 20:04:49 +00:00
cdo 1318c3cc4e Add i64.const, i32.div_s and i32.rem_s opcodes 2026-03-15 20:04:27 +00:00
cdo 74a8f21379 Encode indices as unsigned LEB128 instead of signed 2026-03-15 20:04:06 +00:00
cdo 6784cd02b4 Encode section lengths with unsigned LEB128 2026-03-15 20:03:47 +00:00
cdo 3a103c46d1 Don't require ; to have space after in comments 2026-03-15 17:32:14 +00:00
cdo 8d4c53ca92 Allow implicit zero-init for globals 2026-03-15 14:26:22 +00:00
cdo 5e39024f6d Use unsigned shift in uleb128() 2026-03-15 14:15:40 +00:00
cdo b85a4e8bc9 Encode data values in assembler, not parser 2026-03-15 14:15:34 +00:00
cdo 401e8e1fad Use unsigned right shift in Assembler.le() 2026-03-15 14:07:26 +00:00
cdo d4c837216a Add f32 type 2026-03-15 13:58:33 +00:00
cdo c93e9009da LEB128-encode index in action_symbol 2026-03-15 13:58:25 +00:00
cdo 0056610238 Add missing semicolon 2026-03-15 13:58:24 +00:00
cdo 9b4ff3e8f6 Use array flattening instead of spread operator in a few places 2026-03-15 13:58:23 +00:00
cdo e9beacba3a De-duplicate consecutive locals of same type in wasm_section_code() 2026-03-15 13:58:23 +00:00
cdo acf5b6e284 Handle failed def lookup in action_data() 2026-03-15 13:58:22 +00:00
cdo 72c5f64312 Handle global init value encoding in Assembler 2026-03-15 13:58:20 +00:00
cdo 7135eeba74 Restructure uleb128 2026-03-15 13:41:39 +00:00
cdo 7099ca34a3 Fix .word size 2026-03-15 13:41:05 +00:00
cdo 3ebb74c73c Check for null explicitly in token_top() 2026-03-15 13:40:43 +00:00
cdo 0dd2a925d8 Allow table elems to be labelled 2026-03-15 12:34:41 +00:00
cdo 2155d17731 Implement type, table and func symbol resolution 2026-03-15 12:28:29 +00:00
cdo 1452ffe615 Implement .table and .elem 2026-03-15 12:14:35 +00:00
cdo 46a571be93 Add error message for unhandled states and actions 2026-03-15 11:09:16 +00:00
cdo d35b13fed0 Add .type directive 2026-03-15 11:05:37 +00:00
cdo a3cfd405a9 Add some threads opcodes 2026-03-14 19:30:44 +00:00
cdo 671e7f60d2 Add a bunch of opcodes 2026-03-14 19:30:43 +00:00
cdo 580d5d2a4a Implement function type de-duplication 2026-03-14 19:23:02 +00:00
cdo 1105daaad0 Add support for extended opcodes 2026-03-14 19:23:00 +00:00
cdo 347dd8f534 Make all sections optional 2026-03-14 18:36:21 +00:00
cdo f4433ce3a3 LEB128-encode addresses in data section 2026-03-14 18:35:33 +00:00
cdo 714973f052 LEB128-encode values from defs 2026-03-14 18:29:55 +00:00
cdo 4f878fdbab Add suport for block/loop/if/else 2026-03-14 18:26:12 +00:00
cdo 9fb3910a16 Allow defs to reference other defs 2026-03-14 15:04:25 +00:00
cdo 22dc1fc0ca Add support for labels 2026-03-14 14:52:44 +00:00
cdo cc51b2d7be Fix data word size 2026-03-14 14:50:40 +00:00
cdo 902404cb10 Fix string interpolation in error messages 2026-03-14 14:01:09 +00:00
cdo d4718f1106 Allow using defs in code 2026-03-14 13:59:42 +00:00
cdo 33f5a4be06 Fix bug in local lookup 2026-03-14 13:59:41 +00:00
cdo e2429b2b03 Enable using defs in .byte and .word directives 2026-03-14 13:52:00 +00:00
cdo 2972030d0a Add .def support 2026-03-14 13:48:37 +00:00
cdo 2c3e5f46da Implement .align directive 2026-03-14 13:48:36 +00:00
cdo 93f3dd1f41 Implement .utf directive 2026-03-14 13:48:35 +00:00
cdo cfa4fa7d4f Add .word directive 2026-03-14 13:48:34 +00:00
cdo 94cee7d258 Fix string interpolation in error messages 2026-03-14 13:48:33 +00:00
cdo 092d870a9c Implement .byte directive 2026-03-14 13:48:33 +00:00
cdo 6db71ee382 Add .at directive 2026-03-14 11:56:30 +00:00
cdo 5369a0969e Restructure copy implementation to avoid type-indexed block 2026-03-10 21:25:37 +00:00
cdo 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
cdo 1c4b9f850a Add support for imports (memory only) 2026-03-10 19:54:16 +00:00
cdo 672a453f6c Add string support to tokenizer 2026-03-10 17:53:58 +00:00
cdo 5a3084dd16 Implement .mem directive 2026-03-10 15:33:41 +00:00
cdo 77f6d57e1b Add support for locals 2026-03-10 00:37:05 +00:00
cdo 510a74aa04 Add base suffix for integers 2026-03-10 00:22:07 +00:00
cdo 75600d0568 Add symbol resolution (params only) 2026-03-10 00:22:06 +00:00
cdo 6a4877d52c Implement .param directive 2026-03-09 23:52:18 +00:00
cdo 554d918640 Create initial scaffolding for JS WASM assembler 2026-03-09 23:36:14 +00:00
cdo ef0c395d57 Add manifest for wipforth-deploy 2026-03-08 21:06:35 +00:00
cdo f72d79dc19 Fix typo in README 2026-03-04 22:14:12 +00:00
cdo e5f9d2d828 Make run-tests exit 1 when there are failures 2026-03-04 22:08:34 +00:00
cdo fb70a2585f Fix typo in test name 2026-03-04 21:31:22 +00:00
cdo fb52e5a701 Add README section for end-to-end tests 2026-03-04 20:52:23 +00:00
cdo a1b003a1cd Implement some end-to-end tests 2026-03-04 20:45:05 +00:00
cdo 9576769e09 Implement simple testing module for e2e tests 2026-03-04 20:22:24 +00:00
cdo e13452db15 Run firefox in blank profile when e2e testing 2026-03-04 17:55:16 +00:00
cdo 529aabd213 Rename e2e-tests to e2e 2026-03-04 17:52:26 +00:00
cdo d18ff1d2bb Modify server.scm so it can be loaded as a module 2026-03-04 17:26:46 +00:00
cdo e2ed73055f Write Guile module for Firefox interaction with Marionette 2026-03-04 01:08:54 +00:00
cdo 721e0f285b Fix handling of trailing zeros in . 2026-03-03 13:17:37 +00:00
cdo c1c1db7b51 Add note about server.scm probably being insecure 2026-03-02 21:52:05 +00:00
cdo b5c4070daf Use EMIT when printing version number instead of ." 2026-03-02 19:00:57 +00:00
cdo 59e6027739 Use CONSTANT to define version numbers 2026-03-02 18:56:17 +00:00
cdo 32c3c6e356 Use atomic wait/notify on RXTAIL in KEY 2026-03-02 18:53:48 +00:00
cdo 2a3949e09f Make terminal xHEAD and xTAIL registers 32 bits
This enables waiting on them with memory.atomic.wait32 (there is no
wait8) which is needed to avoid spinning when waiting for a key.
2026-03-02 18:51:42 +00:00
cdo 22e477adf7 Fix hex number input 2026-03-02 18:50:34 +00:00
cdo c99430c75e Fix headers in peripherals description 2026-03-02 17:59:32 +00:00
cdo a77e7f4051 Rename "Offset" column to "Address" in peripherals description 2026-03-02 17:58:42 +00:00
cdo 24459a8ae5 List tools in Building and Running README section 2026-03-02 17:54:31 +00:00
cdo a0e3706db7 Replace Python server with Guile 2026-03-02 17:53:50 +00:00