Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
arch
fcgi
make
misc
vs
xcode
README.md
TODO
common.cpp
common.h
config.prop
fcgi_main.cpp
fcgi_main.h
interpreter.cpp
interpreter.h
lib_api.h
loader.cpp
loader.h
posix_main.cpp
vm.cpp
vm.h
vm.sln
win_main.cpp

README.md

Virutal Machine

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.

alt text

Design

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:

  1. Windows (win32, IA-32)
  2. macOS (POSIX, AMD64)
  3. Linux 64-bit (POSIX, AMD64)
  4. Linux 32-bit (POSIX, IA-32)

Implementation

C++ with STL and machine code