Difference between revisions of "WebAssembly/Roadmap"

From Free Pascal wiki
Jump to navigationJump to search
m
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

See Also