BSD Ports

wip/pharo-vm12 beta NetBSD

VM used by Pharo

System
NetBSD
Repository
pkgsrc-wip
Maintainer
[email protected]
Port added
Last update
Commit
2dac8b44d3
License
mit
Categories
wip, lang

Description

This repository contains the code of the Pharo Virtual Machine. This implementation started as a fork of OpenSmalltalk-VM. The current project would not have been possible without all their previous work.

The current implementation has the following core features:

  • an indirect threaded bytecode compiler using GNU extensions
  • a generational scavenger garbage collector: a semi-space + nursery for the young generation, and a mark-compact collector for the old generation
  • a space for permanent objects that do not need 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 (fewer 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.

Install

From pkgsrc-wip (no binary package):

cd /usr/pkgsrc/wip/pharo-vm12 && make install clean

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

Build dependencies 1
Run dependencies 8

No port depends on this one.

Commit history 1

DateCommitCreditsLog message
2dac8b44d3 Atsushi Toyokura pharo-vm12: Add pharo-vm12-12.0.3-beta
This repository contains the code of the Pharo Virtual Machine. This implementation started as a fork of OpenSmalltalk-VM. The current project would not have been possible without all their previous work. The current implementation has the following core features: - an indirect threaded bytecode compiler using GNU extensions - a generational scavenger garbage collector: a semi-space + nursery for the young generation, and a mark-compact collector for the old generation - a space for permanent objects that do not need 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 (fewer loads/stores) …