Johan B.W. de Vries
dff5feed86
More tests and fixes
2023-11-11 15:19:33 +01:00
Johan B.W. de Vries
ff0286bcf6
More framework
2023-11-11 13:45:03 +01:00
Johan B.W. de Vries
ef00b3a91c
Started on a test generation framework
2023-11-11 12:02:37 +01:00
Johan B.W. de Vries
fd3939a680
Feat: Use struct in tuple
2023-11-10 15:35:16 +01:00
Johan B.W. de Vries
16ec664cb6
Feature: Tuples with tuples in constants
2023-11-10 15:23:10 +01:00
Johan B.W. de Vries
de92504394
Cleanup: DataBlock as part of the constants
...
As they can refer to other constants which are stored in
memory.
2023-11-10 15:02:07 +01:00
Johan B.W. de Vries
1536ea0bbb
Enable use of bytes in constants
...
Including using them in tuple constants.
2023-11-10 14:54:22 +01:00
Johan B.W. de Vries
20d177e2c5
Add partial tuple of tuple support
2023-11-10 14:00:29 +01:00
Johan B.W. de Vries
a85129254d
Adds partial additional debugging info
2023-11-10 12:52:14 +01:00
Johan B.W. de Vries
0aa8207987
Import service names
2023-11-07 10:51:55 +01:00
Johan B.W. de Vries
cea236494f
Bytes constants
2023-11-07 10:51:43 +01:00
Johan B.W. de Vries
e6610a6e96
Adds a todo note
2023-01-29 12:42:38 +01:00
Johan B.W. de Vries
205897101f
Adds a typing system to Phasm
2023-01-07 16:24:50 +01:00
c02afb05f4
Merge pull request 'Speedup foldl over bytes' ( #2 ) from optimize_fold_bytes_inline_subscript_bytes_call into master
...
Reviewed-on: #2
2022-08-21 13:39:44 +00:00
Johan B.W. de Vries
5ad5a9c064
Speedup foldl over bytes
...
Prior to this PR, the compiler would call stdlib.types's
__subscript_bytes__.
However, that function performs some checks we do not need.
After this MR, folding iterates directly over the bytes
memory, saving the memory access checks and the function
calls. This gets us a speedup of about 43% less CPU time
used on Firefox.
Also, by default, the CRC32 page runs a shorter timing test.
2022-08-21 15:38:11 +02:00
2970093c8f
Merge pull request 'MVP' ( #1 ) from idea_crc32 into master
...
Reviewed-on: #1
2022-08-21 12:59:20 +00:00
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