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

Redesign foreign function interface #136

Closed marekjm closed 8 years ago

marekjm commented 8 years ago

Current FFI is too limited. Foreign functions must receive information about what process called them, and the pointer to the environment they are running in. Once foreign functions can look around themselves more functionality can be implemented as modules, or functions, not as machine instructions.

marekjm commented 8 years ago

Foreign functions receive pointers to:

That is pretty much everything a foreign function needs; it makes it possible to load modules, call Viua code from C++ (needs testing), sending messages, receiving messages, spawning processes etc.

Closing the issue.