vonbecmann / pharo-vm

This is the VM used by Pharo

Home Page:http://pharo.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pharo VM

This repository holds the code of the Pharo Virtual Machine. This implementation started as a fork of OpenSmalltalk-vm. The current project could not have been possible with all their previous work.

The current implementation presents the following core features:

  • an indirect threaded bytecode compiler using GNU extensions
  • a generational scavenger garbage collector: semi-space + nursery for the young generation, a mark-compact collecting for the old generation
  • a space for permanent objects that need not to be scanned by the GC
  • a baseline JIT compiler that
    • translates primitive operations using IR templates
    • translates bytecode methods using a simple abstract interpretation approach to reduce memory pressure (less loads/stores)
  • FFI through the well-known libFFI, and support for non-blocking FFI using worker threads

For more details about the whole Pharo VM project refer to our wiki.

Table of Contents

About

This is the VM used by Pharo

http://pharo.org/

License:Other


Languages

Language:Smalltalk 71.5%Language:C 26.4%Language:StringTemplate 1.0%Language:CMake 0.9%Language:Shell 0.1%Language:Objective-C 0.0%Language:GDB 0.0%Language:Assembly 0.0%Language:PowerShell 0.0%Language:Dockerfile 0.0%Language:Objective-C++ 0.0%