[Vm-dev] primitives argument handling

Ben Coman btc at openinworld.com
Sat Aug 20 13:41:48 UTC 2016

Just checking my understanding of how something works.  I think I
heard somewhere that its the primitive's job to drop its arguments off
the stack.

So it would seem(??) that starting with VM1/Image1 having primitive
#primX ... if VM2 had modified that primitive to take an optional
argument such that Image2 invoked that primitive as #primX: ,  then
Image2 could not be backward compatible with VM, because Image2 would
be adding the argument to the stack that would not be removed by VM1.

The reason I ask is I was considering having a go at the VM clock
improvements issue [1] I logged.  As well as implementing the clock
skewing algorithm Eliot suggested, I was also wanting to provide Image
access to the two clocks used by that algorithm - so the algorithm
performance could be monitored from the Image.

cheers -ben

[1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/36

More information about the Vm-dev mailing list