Cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak.
OTHER License
Bot releases are visible (Hide)
Release (Candidate) Version 2023.12 (for updated Squeak 6.0 and 5.3 bundles)
applicationSupportsSecureRestorableState
on macOS 12.0+This is a patch release. Also see the release notes of OSVM Version 2023.
🚧 Compatibility notes
GLIBC_2.29
, which means Ubuntu 20.04 or later
⚠️ Known issues
'aarch64'
, which means that (at least in Squeak) the detection of #isLowerPerformance
fails and thus lots of tests are timing out. See TestCase >> #defaultTimeout
Published by github-actions[bot] 11 months ago
Release candidate for OSVM 2023
⚠️ Compatibility notes
GLIBC_2.29
, which means Ubuntu 20.04 or later
Published by github-actions[bot] over 2 years ago
Release Version 2022.06 (for Squeak 6.0 and updated 5.3 bundles)
This is a patch release. Also see the release notes of OSVM Version 2022.
⚠️ Known Issues
SQUEAK_DISPLAY_PER_MONITOR_SCALE=1
-headless
-vm-display-X11 -headless
-nodisplay
-vm-display-null
(i.e., smalltalkCI is fine)Published by github-actions[bot] over 2 years ago
📢 Please use the more recent patch release OSVM Version 2022.06
Release Version 2022
⚠️ Known Issues
Published by github-actions[bot] over 2 years ago
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] almost 3 years ago
Published by github-actions[bot] about 3 years ago
CogVM source as per VMMaker.oscog-eem.3339
Now the MT vm is using C intrinsics there are no trampolines for the COGMTVM
configuration.
First mostly stable version of the Threaded FFI.
Most important changes are:
Use C11 atomic instructions for the vmOwner.
This simplifies the CPXCHG instruction and should make this a lot more resistant to breaking due to compiler optimizations.
Fix a critical bug when reentering the threadSchedulingLoop
Previously this used the wrong jmp_buf, therefore a thread that tried to return to its threadSchedulingLoop might end up in the threadSchedulingLoop of ANOTHER thread!
With these two changes in place, the VM runs mostly stable whilst switching between two threads in the spurreader image.
There are still some bugs to fix, especially in the scheduler, as well as synchronizing access to the threads variable.
But this is good progress for now.
Rename CoInterpreterMT's processHasThreadId inst var to processHasThreadAffinity in the wake of Kernel-eem.1523.
First commit of Leon Matthes' work to revive the threaded FFI (committed by eem on behalf of LM cuz of Monticello permissions on source.squeak.org).
Fix simulation so that the current processor register state reflects the current Smalltalk process. Eliot's first attempt was a bit broken. This approach of manually switching register states in tryLockVMOwnerTo: preserves fast simulation because we're not changing register state on every send to the processor object as was the case with the original MultiProcessor wrapper. Check for a missing register state by setting the register state for stack, frame & pc pointers to zero. Label the processes spawned by the simulation so they show up nicely in the process browser.
releaseVM was used several places where disownVM: should have been used.
Simplify cedeToHigherPriorityThreads; the VM can't be unowned when invoked.
Nuke some unneeded halts.
minor clean-up/commentary.
Help myself by documenting what the snapshotPrimitive answers (false for snapshot, true for resume).
Simplify SpurMemoryManager>>#sufficientSpaceAfterGC:. Nuke an unused link reg related utility in the Cogit. Add the CogVMSimulator's fklush method to the STackInterpreterSimulator to ensure that GC progress is printed immediately while simulating.
Build: upgrade the 64=bit macos Makefilews so they can build MT VMs. mvm in
squeak..spur dirs now takes a -T arg and builds with -DCOGMTVM=1 in build??mt
to SqueakMT.app
Published by github-actions[bot] about 3 years ago
CogVM source as per VMMaker.oscog-eem.3339
Now the MT vm is using C intrinsics there are no trampolines for the COGMTVM
configuration.
First mostly stable version of the Threaded FFI.
Most important changes are:
Use C11 atomic instructions for the vmOwner.
This simplifies the CPXCHG instruction and should make this a lot more resistant to breaking due to compiler optimizations.
Fix a critical bug when reentering the threadSchedulingLoop
Previously this used the wrong jmp_buf, therefore a thread that tried to return to its threadSchedulingLoop might end up in the threadSchedulingLoop of ANOTHER thread!
With these two changes in place, the VM runs mostly stable whilst switching between two threads in the spurreader image.
There are still some bugs to fix, especially in the scheduler, as well as synchronizing access to the threads variable.
But this is good progress for now.
Rename CoInterpreterMT's processHasThreadId inst var to processHasThreadAffinity in the wake of Kernel-eem.1523.
First commit of Leon Matthes' work to revive the threaded FFI (committed by eem on behalf of LM cuz of Monticello permissions on source.squeak.org).
Fix simulation so that the current processor register state reflects the current Smalltalk process. Eliot's first attempt was a bit broken. This approach of manually switching register states in tryLockVMOwnerTo: preserves fast simulation because we're not changing register state on every send to the processor object as was the case with the original MultiProcessor wrapper. Check for a missing register state by setting the register state for stack, frame & pc pointers to zero. Label the processes spawned by the simulation so they show up nicely in the process browser.
releaseVM was used several places where disownVM: should have been used.
Simplify cedeToHigherPriorityThreads; the VM can't be unowned when invoked.
Nuke some unneeded halts.
minor clean-up/commentary.
Help myself by documenting what the snapshotPrimitive answers (false for snapshot, true for resume).
Simplify SpurMemoryManager>>#sufficientSpaceAfterGC:. Nuke an unused link reg related utility in the Cogit. Add the CogVMSimulator's fklush method to the STackInterpreterSimulator to ensure that GC progress is printed immediately while simulating.
Build: upgrade the 64=bit macos Makefilews so they can build MT VMs. mvm in
squeak..spur dirs now takes a -T arg and builds with -DCOGMTVM=1 in build??mt
to SqueakMT.app
Published by github-actions[bot] about 3 years ago
CogVM source as per VMMaker.oscog-eem.3339
Now the MT vm is using C intrinsics there are no trampolines for the COGMTVM
configuration.
First mostly stable version of the Threaded FFI.
Most important changes are:
Use C11 atomic instructions for the vmOwner.
This simplifies the CPXCHG instruction and should make this a lot more resistant to breaking due to compiler optimizations.
Fix a critical bug when reentering the threadSchedulingLoop
Previously this used the wrong jmp_buf, therefore a thread that tried to return to its threadSchedulingLoop might end up in the threadSchedulingLoop of ANOTHER thread!
With these two changes in place, the VM runs mostly stable whilst switching between two threads in the spurreader image.
There are still some bugs to fix, especially in the scheduler, as well as synchronizing access to the threads variable.
But this is good progress for now.
Rename CoInterpreterMT's processHasThreadId inst var to processHasThreadAffinity in the wake of Kernel-eem.1523.
First commit of Leon Matthes' work to revive the threaded FFI (committed by eem on behalf of LM cuz of Monticello permissions on source.squeak.org).
Fix simulation so that the current processor register state reflects the current Smalltalk process. Eliot's first attempt was a bit broken. This approach of manually switching register states in tryLockVMOwnerTo: preserves fast simulation because we're not changing register state on every send to the processor object as was the case with the original MultiProcessor wrapper. Check for a missing register state by setting the register state for stack, frame & pc pointers to zero. Label the processes spawned by the simulation so they show up nicely in the process browser.
releaseVM was used several places where disownVM: should have been used.
Simplify cedeToHigherPriorityThreads; the VM can't be unowned when invoked.
Nuke some unneeded halts.
minor clean-up/commentary.
Help myself by documenting what the snapshotPrimitive answers (false for snapshot, true for resume).
Simplify SpurMemoryManager>>#sufficientSpaceAfterGC:. Nuke an unused link reg related utility in the Cogit. Add the CogVMSimulator's fklush method to the STackInterpreterSimulator to ensure that GC progress is printed immediately while simulating.
Build: upgrade the 64=bit macos Makefilews so they can build MT VMs. mvm in
squeak..spur dirs now takes a -T arg and builds with -DCOGMTVM=1 in build??mt
to SqueakMT.app
Published by fniephaus over 4 years ago
Published by fniephaus almost 5 years ago
Published by fniephaus almost 5 years ago
Release for Newspeak
Published by fniephaus almost 5 years ago
Published by fniephaus almost 5 years ago
Published by fniephaus over 5 years ago
Published by fniephaus almost 6 years ago
Published by fniephaus about 6 years ago