On Mon, Mar 29, 2010 at 5:12 PM, Adrian Lienhard <[email protected]> wrote:

>
> On Mar 29, 2010, at 21:52 , Mariano Martinez Peck wrote:
>
> > 2010/3/29 John M McIntosh <[email protected]>
> >
> >> Also this week I will ship a 4.2.4b1 VM which is the result of some
> Squeak
> >> 4.0 base VM merge processing and contains the fix to enable the loading
> of
> >> old image segments used I guess by squeakmap?
> >>
> >>
> >
> > I am not sure.  ImageSegment is a full of c...and maybe it will be even
> > removed. It was not working since a lot of time and nobody says anything.
>
> Mariano, I know you know image segments, but I think this is may be
> confusing for others. So I like to say something ;)
>
> Image segments work very well; both from a reliability and performance
> point of view. We are using them for hundreds of customers. DabbleDB uses
> images segments as well AFAIK.
>
> There are two parts, the primitives implemented by the VM in C and the
> image-side code. The code in the image consists of support code to load and
> store a segment and on top of this there is code for swapping in/out
> classes, projects etc. Especially the latter is a mess and we already
> started cleaning it. As images segments are not used by core code we also
> consider moving it into a separate, external package (of course, the
> primitives should stay in the VM).
>
>
Thanks for the remark Adrian :)   I know you know more for ImageSegments
than all of us.

As you said, it works pretty well for a piece of the domain. For example, in
your case, you just export the segment, but did you try to swap them out
(but letting the segment inside) and load it again ? it was broken.
Exporting a segment, and bring them back again but where classes were
modified or removed in the image, was broken also. If you load segments from
older versions, it was broken too (this was what they fixed now). The
symbols, you explained me that problem. In your case it works perfect
because, as you say, almost only use the primitives, no more. But that's a
very limited piece of ImageSegment. That piece, in that way, it works.

For big segments, I am not sure if it works well neither. The segment
allocates more than 2 times what needed. In DabbleDB I read they had that
problem. The segments were too big, that having to allocate 2 or 3 times,
crash everything.

Cheers

Mariano



> > We
> > even started to remove part of it in Pharo. And SqueakMap was completely
> > removed.
>
> Yes, SqueakMap is not relevant anymore for Pharo. Hence, this VM fix is not
> critical for us.
>
> Cheers,
> Adrian
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to