Module lovm2::module[][src]

Generic protocol for module like objects

A Module can be created from a CodeObject or by loading a lovm2 compatible shared object library. It maintains an internal map of callable objects, meaning that everything implementing the CallProtocol can be added and executed from inside the VM. On load, all entries from Slots will then be added to the context making them runnable from bytecode.

Structs

Module

Main runtime representation for loadable modules.

SharedObjectSlot

Contains a function name, imported by EXTERN_LOVM2_INITIALIZER.

Slots

Own type for maintaining callable functions inside a module

Constants

ENTRY_POINT

Name of the CodeObject entry that is used as a programs starting point inside Vm::run.

EXTERN_LOVM2_INITIALIZER

Name of the unmangled function name to call when initializing module slots.