Implement the basics of component model#2695
Implement the basics of component model#2695zherczeg wants to merge 4 commits intoWebAssembly:mainfrom
Conversation
d04709a to
3f2f212
Compare
f2a0b3b to
0f3bbbe
Compare
08ab8dd to
7b99f16
Compare
9ae0356 to
1279ea2
Compare
d724780 to
4f8a1ed
Compare
|
Status summary. This patch is grown to ~7500 lines addition including an 1500 line update of lexer-keywords.txt. The wasm2wat and wat2wasm tools are extended with component support, which is capable of parsing a hello world component created by clang both in text and binary form. Validation is not implemented. Is component support useful for this project? |
|
Note: component support is based on this document: |
e6e94ae to
e311277
Compare
I think this work is going to be useful, but I don't have a lot of time to spend reviewing right now, and I think this probably some lower in the priority queue and the all the GC and wasm 3.0 stuff, right? |
|
Yes, this is a very low priority patch. It will be a draft for a long time. Honestly, I don't even know what is the best shape for it. I refactored it like 10 times, and still a lot of things are unclear. Anyway, Wabt has all the utility functions for implementing the component model, that is why I built on the top of it. |
This patch supports parsing the new GC types - Abstract types - Recursive types - Composite types The patch also improves type comparison.
0576617 to
10eeb5d
Compare
10eeb5d to
2d9de5c
Compare
This is an experimental (draft) patch. I don't know how much it fits into the concept of wabt. Wabt has the necessary helpers though.
Components are a layer (layer 1) above module layer (layer 0). It has no official specification, only explainers. It has a binary and text format similar to modules.