Closed
Description
Description
Currently both the call
and invoke
opcodes do not handle the ability to call via a function pointer argument. This is due to the fact that we think it is unlikely to be needed, at least initially. Nevertheless, this is something we want to support, and so both opcodes need to be enhanced to deal with it.
The primary difficulty relates to the memory model, and what it actually means to have a function pointer on our architecture. We need to work out how we get them, and how we then jump to them from the context of FLO.
Spec
- Work out how function pointers relate to the memory model.
- Work out how these function pointers are obtained and jumped to.
- Update the implementations for
call
andinvoke
to handle these cases.