Skip to content

jordanmontt/pharo-vm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Smalltalk 72.2%
  • C 25.8%
  • StringTemplate 1.0%
  • CMake 0.9%
  • Shell 0.1%
  • Objective-C 0.0%