[squeak-dev] Re: Does anyone recognize this glitch in our trunk update processing? (was: [Vm-dev] buildspurtrunkvmmakerimage.sh fails on Mac)

marcel.taeumel Marcel.Taeumel at hpi.de
Wed Aug 24 05:06:57 UTC 2016


marcel.taeumel wrote
> 
> Bert Freudenberg wrote
>> On Tue, Aug 23, 2016 at 11:21 AM, marcel.taeumel <

>> Marcel.Taeumel@

>> >
>> wrote:
>> 
>>>
>>> Hi, there.
>>>
>>> It is, unfortunately, not possible to turn back time and rewrite
>>> history.
>>> ;-)
>>>
>> 
>> ... unless we're dealing with software. Oh wait, we are ;)
>> 
>> There is several important code that makes excessive use of instVar
>>> accesses such as in SystemProgressMorph or HandMorph. Making any change
>>> in
>>> their class layout while using some of their methods will provoke a
>>> strange
>>> error. This could only be changed by a VM that keeps old class
>>> layouts/schemata around for some longer time until there is no old
>>> compiled
>>> method on any stack anymore.
>> 
>> 
>> Class layout changes and instance migration is handled fully in the image
>> by class ClassBuilder. The VM is not at fault here.
>> 
>> 
>>> Usually, restarting the update process helps here. There is no way to
>>> fix
>>> that in order to interactively update from 5.0 to 5.1 without any
>>> errors.
>>>
>> 
>> We can retroactively change the config map that introduced the problem.
>> I'm
>> certain it would be possible to fix, but I am not entirely sure it's
>> worth
>> the trouble.
>> 
>> - Bert -
> Hi Bert,
> 
> the config map will not help, we would have to change numerous MCZs since
> point X in time to rewrite history. :) "Oh, would we have always been
> using accessors here instead of instVar accessess..."
> 
> Best,
> Marcel

...even then, how do you update the code in image Y, which is going to be
updated before it is updated? This is not even possible for every user's
images out there... :-/

The Java Hotspot VM has a mapping table for changed instVar accesses. Maybe
we could use this trick, too? Still, would only applies to future versions.
We cannot rewrite history because it is not only one piece of software in a
single version control system with a single version checked out. :)

Best,
Marcel




--
View this message in context: http://forum.world.st/Re-Does-anyone-recognize-this-glitch-in-our-trunk-update-processing-was-Vm-dev-buildspurtrunkvmmaker-tp4912130p4912403.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.


More information about the Squeak-dev mailing list