Hi Ron, Hi All,

On Thu, Sep 22, 2016 at 11:58 AM, Ron Teitelbaum <ron@usmedrec.com> wrote:

Hi All,

 

Sorry I’m joining this conversation late. 

 

We are using ImageSegment for transferring croquet island state.  Is this something covered in the changes from Bert or are we talking about dropping ImageSegment altogether? 


I suppose I should explain.  At ESUG Bert and others announced support for Toys in Squeak 5.1.  As part of this work, ImageSegment loading and saving was moved from the VM up into pure Smalltalk code.  This allows Squeak 5.1 (Spur) to load image segments saved on pre-Spur VMs.  Consequent;ly we no longer need VM support for ImageSegment.  Instead we can use the pure image-level code Bert has kindly written.  The question is then at what point can we nuke the Spur VM support, since it is now superfluous.

Bert, am I jumping the gun?  Do we still need to write image-level support for writing image segments?  If this is the case, Igor Stasenko described a primitive for collecting the set of objects to be written out.  It is the initial part of the segment-writing primitive that collects the transitive closure of objects reachable only from those root objects.
 

 

All the best,

 

Ron Teitelbaum

 

From: Pharo-dev [mailto:pharo-dev-bounces@lists.pharo.org] On Behalf Of Eliot Miranda
Sent: Thursday, September 22, 2016 2:47 PM
To: Squeak Virtual Machine Development Discussion
Cc: Pharo Development List; The general-purpose Squeak developers list
Subject: Re: [Pharo-dev] [Vm-dev] Re: Nuking VM ImageSegment support (was Re: [squeak-dev] Daily Commit Log; System-bf.916)

 

Hi Max,

 

On Thu, Sep 22, 2016 at 11:42 AM, Max Leske <maxleske@gmail.com> wrote:

 

 

On 22 Sep 2016, at 20:28, Eliot Miranda <eliot.miranda@gmail.com> wrote:

 

Hi Bert, Hi All,

 

On Thu, Sep 15, 2016 at 2:55 PM, <commits@source.squeak.org> wrote:

[snip]

http://lists.squeakfoundation.org/pipermail/packages/2016-September/068930.html

Name: System-bf.916
Ancestors: System-bf.915

Replace VM-level ImageSegment loading with a Smalltalk implementation for old (interpreter-era) projects.

Also removes support for writing segments.

This overrides the Spur support introduced in System-eem.758.

 

 So one question is should we delete VM support for ImageSegment from the Spur VM?  There's at least 1.5k of generated source for the Spur ImageSegment load and save support, some 2% of the interpreter/primitives source code.  That's a lot, and the code is complex and ugly.  If it never really worked before IMO we should nuke it asap.  If it worked in some fashion perhaps we can schedule its demise for the 6.0 release's VM.

 

What do others think?

 

As long as you don’t remove it from the Cog VM’s until I no longer need it I’m fine with that.

 

And when would that be?  Do you mean that you use it in ways not covered by Bert's modifications (which render the VM support superfluous), or do you mean that you use ImageSegment as a naive consumer and are happy just so long as it works?

 

 

Max



 

_,,,^..^,,,_

best, Eliot

 

 



 

--

_,,,^..^,,,_

best, Eliot







--
_,,,^..^,,,_
best, Eliot