[Vm-dev] Fwd: Nix package for Pharo flavor of opensmalltalk-vm

K K Subbu kksubbu.ml at gmail.com
Mon Apr 24 07:46:46 UTC 2017


On Sunday 23 April 2017 10:52 PM, Eliot Miranda wrote:

> Maintaining backward compatibility here would have hobbled the VM and
> severely limited the potential performance increase from
> context-to-stack mapping that gave us the Cog VM which is around 7x
> faster than the Squeak 3.9 interpreter.  So the break with backward
> compatibility was done consciously and with good reason.

I am very excited about the changes in stack/cog/sista and spur. My 
point was not about backward compatibility but about introducing one 
more level of indirection between vm and image to help package managers 
deal with the emergence of multiple VMs. What we do today with launcher 
scripts in terms of extracting paths and probing image files to pick the 
right VM to run can be done by a primordial VM with a small built-in 
image (say stkernel) to bootstrap a larger and modern VM. This stkernel 
VM (like GRUB loader), will have the specific purpose of locating 
configurations of larger VMs and then launching them. stkernel should be 
easy to port, package and maintain on platforms since it has a specific 
purpose. Applications can run on any of the second level VMs. The 
two-level startup should be transparent to uses of squeak/cog/sista 
users on 32-bit/64-bit hosts.

> I hope you can see that the differences between systems are more than
> between file system formats; it's not just a case of having the right
> driver.  Because the system is self defining there is much more of a
> circular dependency between vm and image.

I understand the model. VM creates Image and Image generates VM. If 
proceed backwards, then we will arrive at single primordial VM+image 
from which the split emerged. Today, we don't have to go that far. Just 
have three - a stkernel with built-in image, then a collection of VMs 
and Images on disk.

> I'm sorry that the complexity is inconvenient.  I do hope that things
> will settle down over the next few years after Sista/scorch is
> released.
No need to apologize. You have taken up arduous task of building next 
generation VMs. I realize that complexity is part of this process. My 
reference to Linux was only for concepts. Linux is a much larger project 
with thousands of people working on it. We are a tiny team, so our 
progress will be much drawn out. My suggestions were only within the 
context of helping package managers.

Regards .. Subbu


More information about the Vm-dev mailing list