UserCall Functions
The virtual machine compiler interacts with native code through UserCall functions, which use the following syntax:
$ufX(Y, param1, param2, param3, …)
where, X is the function number fn#, and Y is the ALIAS#. Alias names are also available for more readable code.
Internal Buffer
Most VM operations access the internal byte-aligned general-purpose buffer. This buffer, referred to as the buffer in this document, can be used for multi-byte operations, in which case the index will refer to the index to the first byte of the data.
Operations Summary
Here are available VM functions.
VM Functions
Math functions
Some of the above functions are mathematical operations.
One variable math functions:
- Math1VarExt_F32(r, rIn, funcID)
- Math1Var_F32(r, funcID)
Two variables math functions:
- Math2Var_F32(r1, r2, funcID)
- Math2Var_I32(r1, r2, funcID)
- Math2Var_I64(r1, r2, funcID)
The following math operations identified by funcId can be used with the VM math functions above.