From 982a2cd60468bdca9b9bbfeeab9c68240ba74f76 Mon Sep 17 00:00:00 2001 From: Guille Polito Date: Thu, 7 Sep 2023 10:53:19 +0200 Subject: [PATCH] Update README.md --- README.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index abcbf5731e..26d670b0bd 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,20 @@ # Pharo VM -This is the main branch of the Pharo VM. - -For more details about the whole Pharo VM project refer to our [wiki](../../wiki). - +This repository holds the code of the Pharo Virtual Machine. This implementation started as a fork of [OpenSmalltalk-vm](https://github.com/OpenSmalltalk/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](https://github.com/libffi/libffi), and support for non-blocking FFI using worker threads + +For more details about the whole Pharo VM project refer to our [wiki](../../wiki). + # Table of Contents - Building the Virtual Machine