Difference between revisions of "WebAssembly/Roadmap"
From Free Pascal wiki
Jump to navigationJump to searchm |
m |
||
Line 6: | Line 6: | ||
|Assembly (textual wasm) | |Assembly (textual wasm) | ||
| | | | ||
− | | | + | |Pick an assembler utility that's sequence instruction (FPC) friendly |
+ | |||
+ | FPC should produce a textual assembly file | ||
|- | |- | ||
|Basic function calls and local variables | |Basic function calls and local variables | ||
| | | | ||
− | | | + | |Implement direct function calls, with passing basic parameters (that don't require any memory. I.e. int and floats) |
|- | |- | ||
|Global variables | |Global variables | ||
| | | | ||
− | | | + | |Implement symbol reference to global variables (basic or complex) |
+ | |||
+ | Consider linking - as the index of symbols can change. (Wasm binaries are index based ) | ||
|- | |- | ||
|Stack/Call frame support | |Stack/Call frame support |
Revision as of 15:08, 17 October 2019
Feature | Status | Description |
---|---|---|
Assembly (textual wasm) | Pick an assembler utility that's sequence instruction (FPC) friendly
FPC should produce a textual assembly file | |
Basic function calls and local variables | Implement direct function calls, with passing basic parameters (that don't require any memory. I.e. int and floats) | |
Global variables | Implement symbol reference to global variables (basic or complex)
Consider linking - as the index of symbols can change. (Wasm binaries are index based ) | |
Stack/Call frame support | WebAssembly doesn't have any native stack and/or frame support.
It has to be emulated using global and local variables. | |
Indirect function calls | WebAssembly has a specific way of indirect calls
Needed for vmt and procedure variables (callback) calls | |
VMT | Support for calls via virtual method table |