[Vm-dev] snafu for e013b6766a05037812d48960702c0910

Eliot Miranda eliot.miranda at gmail.com
Wed Nov 15 23:18:12 UTC 2017

Hi All,

    mea culpa.  Yesterday I managed to generate completely broken sources
and broke CI servers etc.  I've realized what went wrong.  For the past
week I've been doing VM development in a 64-bit Squeak image (*) and
yesterday for the first time I generated sources from the 64-bit image.
There was old very broken code in VMMaker:

logger := Transcript.
inline := true.
forBrowser := false.
internalPlugins := SortedCollection new.
externalPlugins := SortedCollection new.
platformName := self class machinesDirName.
>> is64BitVM := Smalltalk wordSize == 8.
interpreterClassName := Interpreter name.
optionsDictionary := Dictionary new.
>> optionsDictionary at: #BytesPerWord put: Smalltalk wordSize.
VMStructType voidStructTypeCache

which caused mayhem.  In particular, invalid types were inferred for plugin
files.  These files ahem to be generated choosing types such that the
generated files work on both 64 and 32-bit.  That means /not/ initializing
the VMMaker instance as above.

I'm not sure when things will be back to normal but it should be soon,
given that I finally understand what went wrong.  Apologies for all the

(*) I was looking at Juan Vuletich's 64-bit scavenger crash due to remember
set overflow that Clément fixed recently.  I was adding logging to the
scavenger so we can better analyse failures like this and better tune the
GC.  Simulation of a 64-bit image is somewhat quicker in 64-bits (less work
synthesizing 64-bit values from the heap) and so I thought I'd try
developing in 64-bits.
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20171115/d16c9b6b/attachment.html>

More information about the Vm-dev mailing list