marekjm / viuavm

Parallel virtual machine designed to reliably run massively concurrent programs
https://viuavm.org/
GNU General Public License v3.0
71 stars 11 forks source link

Implement dynamic operand types #150

Closed marekjm closed 7 years ago

marekjm commented 8 years ago

Currently, all instructions take a fixed set of operands.

It is impossible to encode an instruction that adds 1 to 2 without first encoding instructions to spawn objects representing 1 and 2, even if 1 and 2 are small enough to be immediate values. It is also necessary to have two instructions for function calls - call for calling atoms, and fcall for calling function objects.

This issue proposes implementing CBOR-based encoding for instruction types.

marekjm commented 7 years ago

Postpone it until assembler gets sufficiently advanced.