The Objeck virtual machine is a stack-based VM that can convert bytecode into machine code for faster execution. The VM has a caching "mark and sweep" garbage collector along with access to host capabilities such as networking and file access.
The major components of the VM are the interpreter, JIT compiler and memory manager. All 3 components interop with one another. For portability, OS functions for Windows and POSIX environments are abstracted.
The VM supports the following targets:
- Windows (win32, IA-32)
- macOS (POSIX, AMD64)
- Linux 64-bit (POSIX, AMD64)
- Linux 32-bit (POSIX, IA-32)
C++ with STL and machine code