- Testing scavenger tenuring by @PalumboN in pharo-project#588
- Deleting Pharo image from the vm repo by @jordanmontt in pharo-project#591
- Cleaning Up Third Party Libraries by @tesonep in pharo-project#581
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.0.4...v10.0.5
-
Composed image format by @PalumboN in pharo-project#377
-
Composed image format: C translation by @PalumboN in pharo-project#388
-
Perm space on image by @PalumboN in pharo-project#416
-
New & old remembered sets by @PalumboN in pharo-project#418
-
Reduce segment files size on move objects to PermSpace by @PalumboN in pharo-project#508
-
Adding Support for PermSpace by @tesonep in pharo-project#488
-
Adding option to not use contant block optimization for test by @StevenCostiou in pharo-project#573
-
Do not use newer CMAKE features by @estebanlm in pharo-project#572
-
Split a method in two to reuse part in espell by @jecisc in pharo-project#569
- @StevenCostiou made their first contribution in pharo-project#573
- @estebanlm made their first contribution in pharo-project#572
- @jecisc made their first contribution in pharo-project#569
Full Changelog: https://github.com/pharo-project/pharo-vm/compare/v10.0.3...v10.0.4
- Fix ARM32 by @tesonep in #562
- Verify ephemeron key is not immediate when marking by @guillep in #565
- Generate Pharo VM dependency graph by @hernanmd in #554
- Link against a shared SDL2 if already installed in target by @hernanmd in #555
- Slang: Integer>>#bitOr: and Integer>>#| are translated to C code differently by @hernanmd in #523
- Fix ephemeron compaction by @guillep in #561
- Adding image version field to the image header
- Fixes in String comparison primitive when JIT
- Improvements in dependency of the VMMaker code.
-
Slang (Smalltalk to C Translator)
- Introducing a C AST to ease the generation of C Code
- Having a Pretty Printer for C AST
- Translation Tests
- Fixing Translation Issues
- Clear separation between Slang and VM code
- Improving Cast generation
-
Clean Up:
- Remove Old Bytecode Set
- Remove Old Block Implementation
- Simplification of the Primitives
- Removing Unused / Old Code / Dead Code
- Cleanup / Removal of Old Unused primitives
- Removing Old FFI Implementation
- Removing MT Experiment from the code base (Kept in own branch)
- Fixing Compilation Warnings
- Improving Type annotations to fix bugs in the translation / compilation
- Removing Conditional Code on Old Configurations / Features
- Renaming Concepts to be inline with Common terminology
- Remove Newspeak, Multiple Bytecode and Old Memory Managers
- Removing Unused Plugins
-
Tests
- GNUification Tests
- Tests for Math primitives including overflow and conversion testing.
- Tests for comparison primitives (Equals / Not Equals / Less than / Less or Equals / Greater Than / Greater or Equals)
- Testing Primitives for objects Pinned in Memory
- Testing Math Primitives for Immediate Classes (SmallFloats / SmallIntegers)
- Improving Simulation Infrastructure
- Using Sista Bytecode in all Tests
- Updating Unicorn version
- Improving Machine Code emulation
- Testing Image Read / Image Write
- Using the same memory map in Tests and Execution
- Testing Ephemerons
- Become Primitives
-
Ephemeron
- Fix for large ammounts
- Make it available
- Testing Signal Finalizations
-
Fixing Become Errors.
-
Fixing XRay Primitive
-
Single-Instruction Multiple-Data (SIMD) initial Support:
- Initialization of new objects using SIMD (ARM64)
- Adding Bytecode Extensions to support SIMD instructions
- Adding Vector Registers
- Vector Register bytecodes
-
Auto Localization of Interpreter loop variables and edge detection simplifying development and minimizing code
-
ImageReader / ImageWriter reification needed for Permanent Space.
-
Improving Memory Map of the VM (Using constant positions)
-
Dependencies Improvements
- Implementing High resolution clock for ARM64 (Used during profiling)
- Updating third party libraries for all the graphic layer
- Fixing a performance regression on the allocation of opcodes and fix-ups. Cleaning only the ones that are going to be used. Like this, this version has the same speed than before when allocating in the stack.
- Correctly handling the encoding of the command line arguments of the VM (Windows)
- Allocating the opcodes and fixup structs only once and reusing them (Reducing risk of C Stack Overflow)
- Update library downloads in Windows to
- libgit2 => 1.4.4
- Supporting old images in OSX ARM64 with Libgit older than v1.4.4
- Fixes in users of declarationAt:
- Updating Readme
- Improving the generation of plugins
- Upgrade library dependencies
- Update library downloads to
- libgit2 => 1.4.4
- libssh2 => 1.9.0
- openssl => 1.1.1k
- Update build instructions to build libgit v1.4.4
- Fixing FFI Variadic functions in OSX ARM64
- Fixing store of Int64 in FFI OSX ARM64 when using LongLong
- Fixing Error code in Primitive when more than one temporary is used.
- Adding support to read command line parameters from the PList (In OSX)
- Correct handling OOB (Out of Band Data) in Window
- Blocking signals while signaling semaphores to avoid deadlocks caused by signal handlers
- Make MAXHOSTNAMELEN at least 256: improving resolution of names in linux
- Improving VM Simulator Machine debugger
- Integrating Processor Simulator for RISCV
- Using a new SDL2 version built for OSX Mojave compatibility
- Include FloatArrayPlugin in the build
- Updating SDL2 to 2.0.18 for OSX X86_64
- Using Pharo 10 image as VMMaker image
- Fixing issue in message counting on non JIT VM
- Improving error messages when looking for a symbol in Windows, and exporting symbol used when using worker thread.
- Adding message counting primitives in the interpreter
- Adding a compile time option to generate or not the counting of messages
- Adding generation of StackVM
- Fixing memory issue with spawned threads in AIO.
- Fixing dependencies of functions with Variadic Arguments
- Debug window and menu for Windows.
- Fixing Version Numbers when is not a Release in the Resources File (Windows).
- Improving AIO Support in windows to handle the maximum quantity of waiting on objects
- SIGEMT is not defined in all Linux as it depends on the architecture
- Improving reporting of exception and version number
- Ignore SIGPIPE and let send fail with an error instead of killing the process
- Exposing the ABI selection to the image
- Fixing the marshalling of LargeIntegers in 32bits platforms
- Updating Linux ARM64/32 SDL versions
- Improving the logging when there is a signal to terminate the VM
- Logging the snapshot and quit primitives
- Adding testing function to see if we are in debug
- Improving the logging of unimplemented primitive to log it only once
- Fixing the hint handling when allocating memory in MINGW
- Fixing Upload of artifacts
- Releasing on Tag
- Fixing sqSetupSSL when not using LibGit
- Introduce SlangMemoryManager and MachineMemoryManager
- Builds for ARM using Docker
- Extracting the read of Image Header
- Refactoring of readImage to use the same implementation in the Simulator and real.
- Improving VMDebugger
- Fixes in Slang
- Fixing RumpCStack in simulation
- Building ARM32
- Fixing ARM32 issue when using mcprimHashMultiply
- Correct handling of Out-of-band data
- Improve error handling of network events in OSX
- Build for ARM32 Linux
- Fixing ARM64 in Windows
- Fixing asFloat primitives
- Fixing Platform name
- Fixing ARM32 to use Sista Bytecode and Full blocks
- Testing globalSession ID
- Support for OpenBSD
- Tests for the JIT, Memory management and Intrepreter
- Apple M1 Support
- Improve Allocation of JIT memory
- Improving FFI calls and Marshalling primitives
- Improving SurfacePlugin
- Fix Directed super sends for SISTA in ARMv5
- Change register mapping in ARMv5
- Added accessors in Cogit for testing purposes
- Extracted directed super send trampoline creation
- Fixed disassembler
- Enhance simulator and tests with calling convention accessors
- Fix fopen issue in Windows with encoding
- Configurations for desired eden size, old space size, new space size
- Adding configurable Features to the build from CMake
- Dead code removal and storage in specific branches for history
- Improving Stack report on errors
- Correct handling of time queries in Windows
- ARM64 JIT implementation
- Tons and Tons of tests