Nuking VM ImageSegment support (was Re: [squeak-dev] Daily Commit Log; System-bf.916)
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? _,,,^..^,,,_ best, Eliot
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 <mailto:commits@source.squeak.org>> wrote: [snip] http://lists.squeakfoundation.org/pipermail/packages/2016-September/068930.h... <http://lists.squeakfoundation.org/pipermail/packages/2016-September/068930.h...>
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. Max
_,,,^..^,,,_ best, Eliot
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-Se ptember/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
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? 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.h... 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
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
Hi Eliot,
On 22 Sep 2016, at 20:46, Eliot Miranda <eliot.miranda@gmail.com> wrote:
Hi Max,
On Thu, Sep 22, 2016 at 11:42 AM, Max Leske <maxleske@gmail.com <mailto:maxleske@gmail.com>> wrote:
On 22 Sep 2016, at 20:28, Eliot Miranda <eliot.miranda@gmail.com <mailto:eliot.miranda@gmail.com>> wrote:
Hi Bert, Hi All,
On Thu, Sep 15, 2016 at 2:55 PM, <commits@source.squeak.org <mailto:commits@source.squeak.org>> wrote: [snip] http://lists.squeakfoundation.org/pipermail/packages/2016-September/068930.h... <http://lists.squeakfoundation.org/pipermail/packages/2016-September/068930.h...>
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?
Canât really say but I'm hoping to get rid of ImageSegment within the next 2 years (very rough estimate).
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?
Speed is important to me, as I use ImageSegment to create snapshots of our applications (and hence I need write support, which Bert apparently removed). Those snapshots can exceed 90 MB and the graphs include thousands of objects. I fear that a pure Smalltalk implementation would not be fast enough. On the other hand, we would simply not move to a VM version without ImageSegment support, so that case may give me the boost I need to get rid of ImageSegment :) Currently weâre preparing to move to our first Cog VM in production. If you can give me 2 or 3 months, so that I know the version we use works for us, you could then remove ImageSegment support and we would start replacing ImageSegment with something else so we could keep updating our VM. Cheers, Max
Max
_,,,^..^,,,_ best, Eliot
-- _,,,^..^,,,_ best, Eliot
Hi eliot I asked mariano to improve ImageSegment for his PhD and he convinced me that there are better things to do: Marea and Fuel and Ghost. So I'm really happy to hear that this code will be removed - even if I understand that retiring an old soldier is also a little bit sad moment :). s. Le 22/9/16 à 21:28, Eliot Miranda a écrit :
Hi Bert, Hi All,
On Thu, Sep 15, 2016 at 2:55 PM, <commits@source.squeak.org <mailto:commits@source.squeak.org>> wrote: [snip]
http://lists.squeakfoundation.org/pipermail/packages/2016-September/068930.h... <http://lists.squeakfoundation.org/pipermail/packages/2016-September/068930.h...>
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?
_,,,^..^,,,_ best, Eliot
participants (4)
-
Eliot Miranda -
Max Leske -
Ron Teitelbaum -
stepharo