Commit graph

191 commits

Author SHA1 Message Date
Ernesto Lanchares
874134f3ff PROPOSAL: IR
This is a proposal of a custom IR to run wasm.
At the moment only `ir.zig` has some parts related
to this IR. The idea of the IR is to be a subset
of the one defined in wasm. There are some gaps
(mostly in wasm instructions that have opcode
0xFC) but in wasm they don't use all of the
opcodes for some reason so maybe we could try to
utilize them and be a superset of wasm.
2025-03-23 19:32:10 +01:00
Ernesto Lanchares
b7854d7325 Big rework of the parser!
It now follows a more functional style but it
should be waaay easier to add functionality.

Probably the parser is a bit slower than the
previous one but the code is much cleaner and a
good enough compiler should be able to inline the
function calls and make it par with the previous
one.

As a TODO, runtime structs should not depends on
the parser, but I think that is a topic for
another commit.
2025-03-23 14:39:49 +01:00
Lorenzo Torres
00d695e5f0 cleaned up ecs interface 2025-03-22 22:55:31 +01:00
Lorenzo Torres
191e148535 fixed component queries 2025-03-22 18:10:39 +01:00
Lorenzo Torres
0c8cd85647 fixed memory bug with thread pools 2025-03-22 17:29:57 +01:00
Lorenzo Torres
9c703cf826 removed patch file 2025-03-21 23:18:34 +01:00
luccie-cmd
94a4dc16c6 Fix formatting
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-21 22:49:43 +01:00
luccie-cmd
bbe9213573 Added block instruction in WASM VM
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-21 22:49:37 +01:00
Lorenzo Torres
e1f1441a38 added fixme message to ecs 2025-03-20 23:54:19 +01:00
Lorenzo Torres
7ce5902ec9 preliminary work on ecs 2025-03-20 23:40:20 +01:00
Lorenzo Torres
d5d2f1b8d2 Fixed import section parsing 2025-03-19 20:33:13 +01:00
Lorenzo Torres
e8b4a131a9 added CONTRIBUTING documentation 2025-03-17 21:18:09 +01:00
Lorenzo Torres
b2c52a4f04 added MAINTAINERS list 2025-03-17 21:17:54 +01:00
Lorenzo Torres
36e48aa3b7 added unit testing to TODO list 2025-03-17 21:00:22 +01:00
Lorenzo Torres
932b957a73 added documentation for contributors 2025-03-17 20:56:02 +01:00
Lorenzo Torres
0ea03c54bc fixed memory leak introduced by 48796a0fa3 2025-03-17 19:46:22 +01:00
Lorenzo Torres
3a210a6959 fixed memory bug introduced by 48796a0fa3 2025-03-17 19:44:53 +01:00
Lorenzo Torres
1d64275dee Refactored source code structure. 2025-03-17 19:44:08 +01:00
luccie-cmd
5bab2c4bcf Add defer avaliableExtensions (And also correct its name)
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16 23:22:09 +01:00
luccie-cmd
a2a3cea006 Change debugging message of Renderer.destroy()
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16 23:22:06 +01:00
luccie-cmd
98063d241d Add documentation for Instance.create()
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16 23:22:02 +01:00
luccie-cmd
48796a0fa3 Added checking if our extensions are supported and make Renderer.destroy() not return an error
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16 23:21:44 +01:00
Lorenzo Torres
fee8a08bdf temporarily disabled WebAssembly 2025-03-16 19:49:41 +01:00
Lorenzo Torres
d01ec335e8 fixed .gitattributes 2025-03-16 18:26:56 +01:00
Lorenzo Torres
5dbfcdb5bf removed opengl from build.zig 2025-03-16 17:43:13 +01:00
Lorenzo Torres
0e08e5a055 remove unused opengl dependency 2025-03-16 17:35:48 +01:00
Lorenzo Torres
c805dbe1a0 removed binary files from repository 2025-03-16 17:30:16 +01:00
Lorenzo Torres
2d6a90c0b3 fixed .gitattributes 2025-03-16 17:27:21 +01:00
Lorenzo Torres
a048a4e66b Created .gitattributes 2025-03-16 17:17:41 +01:00
Lorenzo Torres
e9a9ab4d79 fixed spacing issues in documentation/design.md 2025-03-16 01:18:04 +01:00
luccie-cmd
a124d3492c Fix design.md
Signed-off-by: luccie-cmd <luccie@sideros.org>
2025-03-16 01:17:02 +01:00
luccie-cmd
d82ba72de9 Removed redundant patch file
Signed-off-by: luccie-cmd <hoedje201@gmail.com>
2025-03-15 14:14:43 +01:00
h3ll
1401d035c0 removed unused code or something!!
Signed-off-by: h3ll <h3ll@sideros.org>
Signed-off-by: Lorenzo Torres <torres@sideros.org>
2025-03-15 01:54:32 +01:00
Ernesto Lanchares
2818fd14c5 Fixed wrong calculation of locals size when parsing a wasm binary
The fix involves moving the function leb128Decode over to parser. To me
it makes more sense for the function to belong in that module so I think
of it as a positive change. However I do not think that returning two
values is really necessary. I think a proper solution would be either
to parse the code or wrap the stream so we can count how many bytes are
readed. Therefore we could use std.leb.readUleb128 which should be less
error-prone.
2025-03-14 16:50:59 +01:00
Lorenzo Torres
1c3f9702af Updated README.md 2025-03-13 16:15:18 +01:00
Lorenzo Torres
02fd441747 Removed .gitattributes 2025-03-13 16:10:50 +01:00
Lorenzo Torres
b60877f9b3 merge patch from luccie-cmd 2025-03-13 15:34:35 +01:00
Lorenzo Torres
4f45899a3c base code 2025-03-12 19:56:19 +01:00
Lorenzo Torres
fc39b27715 Updated design 2025-03-12 16:48:44 +01:00
Lorenzo Torres
8c87cc3e36
Create design.md 2025-03-12 11:25:44 +01:00
Lorenzo Torres
3436954704
Create README.md 2025-03-11 15:26:33 +01:00