Hi all!
We just released the next version of the OpenSmalltalk VM.
Please find the binaries here: https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/202312181441 (see VMMaker.oscog-eem.3339 and update.oscog-mt.8.mcm)
That version will be used in the updated bundles for Squeak 6.0 and 5.3. And probably in upcoming Cuis releases. :-)
Here is an attempt of a change log (since 2022.06): - Adds error codes for ImageSegment storage primitive fail - Adds error codes for primitiveFileClose on Linux, macOS, and Windows - Adds machine-code primitive for #primitiveHighResClock on 64-bit platforms - Adds machine-code primitive for #perform:withArguments: (84) - Adds VM parameter 50 for maxLiteralCountForCompile - Adds primitive 96 (primitiveObjectsAccessibleFromRoots) to be used on an array of objects; internally part of primitive 98 (primitiveStoreImageSegment) - Adds support for multi-byte data to ClipboardExtendedPlugin - Adds support for various data types to ClipboardExtendedPlugin on Windows - Adds support for UTF8 Unicode to ClipboardExtendedPlugin on Windows - Adds flag #upscaleDisplayIfHighDPI to be set via command line or stored in image header; true by default - Adds support for -eventtrace on Linux and Windows - Fixes memory leak related to scale-factor lookup on Linux (X11) - Fixes warning about applicationSupportsSecureRestorableState on macOS 12.0+ - Fixes potential GDI leak in getDpiSystem on Windows - Fixes failure of Spur image segment loading due to not having enough memory - Fixes path lookup for "." (i.e., current directory) on Windows - Fixes JIT issue around frameless block activation - Fixes JIT issue around cache flushing on ARMv8 - Fixes bug in primitive 105 (primitiveSpurStringReplace) - Fixes bug in SpurSegmentManager - Fixes bug in BitBlt rgbMul combination - Fixes structure argument passing for ARMv8 FFI call-outs - Fixes float conversions for FFI call-outs - Fixes float arguments for FFI call-outs on RiscV64 - Fixes #become: on compiled methods for Spur flavors - Fixes jitted #perform: primitive by adding argument-count check - Fixes MoveCqR on ARMv8 for certain bit patterns (in the JIT) - Fixes crash on ARMv8 when toggling fail/succeed primitives for mixed mode arithmetic - Fixes accessor-depth calculation in SocketPlugin and other places - Fixes type-declaration problem in DeflatePlugin for 64-bit RiscV - Fixes other issues around SmartSyntaxInterpreterPlugins (e.g., JPEGReadWriter2Plugin, BitBltSimulation, SocketPlugin) - Updates support for compilation on RiscV64 (including FFI plugin) - Updates VectorEnginePlugin to 2022-10-28 (89cc00e86...) from Cuis - Updates BitBltPlugin to be faster for noSource/noHalftone setup - Updates joystick support on Linux
I am sure that I forgot something especially in plugin code. Please expand on this.
BIG THANKS to everybody who has worked on this release! Personally, I would like to thank Eliot, who is a great software architect who keeps on making the OSVM faster with every commit. Thank you!
Best, Marcel (on behalf of the OSVM core dev team)
vm-dev@lists.squeakfoundation.org