MVP #1

Merged
jbwdevries merged 73 commits from idea_crc32 into master 2022-08-21 12:59:21 +00:00

73 Commits

Author SHA1 Message Date
Johan B.W. de Vries
f683961af8 Timing results
Looks like WebAssembly in Chromium is about 35% faster, but the
Javascript engine in Firefox is another 59% faster
2022-08-21 14:57:43 +02:00
Johan B.W. de Vries
7a8b1baa25 Some repo cleanup 2022-08-20 18:21:23 +02:00
Johan B.W. de Vries
98167cfdec Made tests more consistent. Implemented CRC32 test. 2022-08-20 18:00:20 +02:00
Johan B.W. de Vries
e589223dbb Static Arrays. CRC32 compiles \o/
Doesn't give right answer yet and out of bound check fails.
No constructor yet for static arrays, but module constants
work. Which don't work yet for tuples and structs.

Also, u32 for indexing please.

Also, more module constant types.
2022-08-18 20:53:21 +02:00
Johan B.W. de Vries
c4ee2ab3dc Memory initialization is now done during compilation
Also, the user can now define tuple module constants
2022-08-17 21:07:33 +02:00
Johan B.W. de Vries
bac17f47eb ModuleConstant definitions and references 2022-08-16 21:25:03 +02:00
Johan B.W. de Vries
d051160244 Bit shifting 2022-08-16 20:55:20 +02:00
Johan B.W. de Vries
75d7e05519 First uint cast, more options for folding 2022-08-16 20:38:41 +02:00
Johan B.W. de Vries
ad6ca71c53 More bitwise ops. Steps towards CRC32 2022-08-12 21:50:42 +02:00
Johan B.W. de Vries
b6fb0d45b6 Implements foldl 2022-08-11 19:56:47 +02:00
Johan B.W. de Vries
0cf8a246fe Reworked compiler so it uses WasmGenerator
Also, started work on foldl

Also, added a missing FIXME
2022-08-10 20:51:01 +02:00
Johan B.W. de Vries
451a8e9158 Removes the old ___new_reference___ allocator 2022-08-09 20:42:02 +02:00
Johan B.W. de Vries
4881cb6d4b Moved ___access_bytes_index___ to the right place
Also, added length test to buffer example
2022-08-09 20:34:03 +02:00
Johan B.W. de Vries
a0d575f61f Implements __alloc_bytes__, uses it in the buffer example
Also, updated todo, remove broken code from buffer example
2022-08-09 20:21:59 +02:00
Johan B.W. de Vries
a13713d709 Cleanup to helpers, making use of runners 2022-08-09 19:04:40 +02:00
Johan B.W. de Vries
41b47e43d6 Implements RunnerWasmer, makes uses of its wat2wasm 2022-08-07 14:46:20 +02:00
Johan B.W. de Vries
0edd04c207 Adds RunnerWasmtime 2022-08-07 14:12:37 +02:00
Johan B.W. de Vries
58424cf2a0 Adds runner for pywasm 2022-08-06 20:50:43 +02:00
Johan B.W. de Vries
253974df24 Adds runner classes to tests, implements xor for u8, u32, u64 2022-08-06 20:11:39 +02:00
Johan B.W. de Vries
c5e2744b3e Moved stdlib.alloc to the new generator 2022-08-06 14:52:57 +02:00
Johan B.W. de Vries
a5c68065d7 More ideas about easy code generation 2022-08-06 13:44:11 +02:00
Johan B.W. de Vries
fea817ca00 Added more robust and easy way to generate WASM 2022-08-06 12:43:46 +02:00
Johan B.W. de Vries
e03f038cf9 More work on allocator 2022-08-04 20:51:59 +02:00
Johan B.W. de Vries
b42ae275b9 Start on new allocator 2022-08-04 20:09:01 +02:00
Johan B.W. de Vries
fe864e6b9d Example code 2022-07-20 20:40:26 +02:00
Johan B.W. de Vries
a83858aca7 Adds u32 and u64
Also, adds some range checks to constants.
2022-07-09 14:22:38 +02:00
Johan B.W. de Vries
89ad648f34 Moved rendering to codestyle, parsing to parser
Also, removed name argument when parsing, wasn't used.
2022-07-09 14:04:40 +02:00
Johan B.W. de Vries
cc762cfa44 Typing is a chapter of its own 2022-07-09 12:48:54 +02:00
Johan B.W. de Vries
d32613d9b8 We have a name \o/ 2022-07-09 12:35:32 +02:00
Johan B.W. de Vries
14eede6b06 Cleanup to wasm.py 2022-07-09 12:30:28 +02:00
Johan B.W. de Vries
c181c61040 Extended the import example a bit for sanity's sake 2022-07-09 11:34:20 +02:00
Johan B.W. de Vries
76d80f57cb Imports 2022-07-08 21:06:13 +02:00
Johan B.W. de Vries
eb74c8770d Examples HTML now serve higlighted py 2022-07-08 20:41:58 +02:00
Johan B.W. de Vries
17aa5fd6f9 Examples HTML now serve higlighted WAT 2022-07-08 20:23:12 +02:00
Johan B.W. de Vries
27fa1cc76d bytes[idx] for any expression idx
More steps towards buffer example
2022-07-02 21:48:39 +02:00
Johan B.W. de Vries
374231d206 bytes, u8 types 2022-06-25 20:45:33 +02:00
Johan B.W. de Vries
467d409d80 Add tests for static checks 2022-06-24 21:53:18 +02:00
Johan B.W. de Vries
0afab89796 Memory access from outside with example setup 2022-06-24 19:48:07 +02:00
Johan B.W. de Vries
b28df7fa74 Fix: Could not both export and use function
Added HTML pages for fib example
2022-06-24 18:52:43 +02:00
Johan B.W. de Vries
0da309a280 Remove old code 2022-06-19 17:04:20 +02:00
Johan B.W. de Vries
ac0c49a92c Now runs on new code 2022-06-19 16:54:14 +02:00
Johan B.W. de Vries
a480e60698 Buildin float ops 2022-06-19 16:26:58 +02:00
Johan B.W. de Vries
453c2865a8 Structs 2022-06-19 16:09:06 +02:00
Johan B.W. de Vries
9dbdb11732 Simple calls 2022-06-19 15:25:58 +02:00
Johan B.W. de Vries
83b0b705ae If statement, more operators 2022-06-19 15:20:47 +02:00
Johan B.W. de Vries
8c25227f40 Started on compilation, typing changes 2022-06-19 15:10:13 +02:00
Johan B.W. de Vries
658e442df2 - Tuple => ()
- All tests are now parsed by our own AST
2022-06-06 12:18:09 +02:00
Johan B.W. de Vries
e7b72b6a6b Started on our own AST
This will help with optimizing code and generating
WASM code
2022-05-28 12:29:24 +02:00
Johan B.W. de Vries
efba4e0daa pip fix, wasmer update 2022-05-24 11:43:42 +02:00
Johan B.W. de Vries
865eccd719 Testing with various wasm implementations
Also:
- Started on SIMD before finding out no implementation
  supports that yet
- Type fix result Import / Function
- Various error reporting improvements
- Non-const tuple members
2022-05-07 14:21:50 +02:00
Johan B.W. de Vries
6b717dba0b Fix pathing issue when wat2wasm is not globally installed 2022-05-07 12:14:34 +02:00
Johan B.W. de Vries
249c00f6a2 Implements mult and sqrt 2022-04-29 12:56:45 +02:00
Johan B.W. de Vries
c5d039aa1f Implements tuple creation / usage 2022-04-29 12:30:31 +02:00
Johan B.W. de Vries
c16eb86e10 Adds type class, making it easier to lookup types 2022-04-29 12:00:38 +02:00
Johan B.W. de Vries
efe24fb4b5 Locals support in wasm. You can now have multiple objects [skip-ci] 2022-03-05 11:43:51 +01:00
Johan B.W. de Vries
b468ffa780 First memory test checks out [skip-ci] 2022-03-04 15:50:53 +01:00
Johan B.W. de Vries
bd7e8d33bf Partial implementation [skip-ci] 2022-03-04 13:35:08 +01:00
Johan B.W. de Vries
1a35710da4 cleanup [skip-ci] 2022-03-04 13:27:38 +01:00
Johan B.W. de Vries
6932741ac5 Learning about stacks and locals [skip-ci] 2022-03-04 13:18:32 +01:00
Johan B.W. de Vries
541b3a3b62 Learning about data usage [skip-ci] 2022-03-04 12:51:10 +01:00
Johan B.W. de Vries
3aef459924 idea / scaffolding [skip-ci] 2022-03-04 09:57:35 +01:00
Johan B.W. de Vries
98d3d8848a i64, f32, f64 (some conversions) 2021-08-07 15:24:10 +02:00
Johan B.W. de Vries
9616d20460 fib works \o/ 2021-08-07 15:02:20 +02:00
Johan B.W. de Vries
b26efc797d Cleanup, added tests 2021-08-07 14:52:51 +02:00
Johan B.W. de Vries
0c64973b2b UAdd, tests 2021-08-07 14:40:15 +02:00
Johan B.W. de Vries
e972b37149 If statements \o/ 2021-08-07 14:34:50 +02:00
Johan B.W. de Vries
c234f57283 More rewriting [skip-ci] 2021-04-05 18:11:07 +02:00
Johan B.W. de Vries
07aeb52560 more ideas [skip-ci] 2021-04-05 14:40:18 +02:00
Johan B.W. de Vries
58bd5f0889 More cleanup [skip-ci] 2021-04-05 10:41:26 +02:00
Johan B.W. de Vries
633267b37d ideas [skip-ci] 2021-04-04 16:43:55 +02:00
Johan B.W. de Vries
edd12e5b7c cleanup [skip-ci] 2021-04-04 16:32:56 +02:00
Johan B.W. de Vries
2a93d6125e ideas [skip-ci] 2021-04-03 20:40:11 +02:00
Johan B.W. de Vries
473cd0b626 cleanups [skip-ci] 2021-04-03 12:45:13 +02:00