[lewis@mail.msen.com: Re: [Vm-dev] Fwd: Could not load VMMaker in 10315]

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[lewis@mail.msen.com: Re: [Vm-dev] Fwd: Could not load VMMaker in 10315]

David T. Lewis
FYI. This problem was originally reported on the Pharo list earlier this
year. The fix is now in VMMaker on SqueakSource.

----- Forwarded message from "David T. Lewis" <[hidden email]> -----

Date: Tue, 18 Aug 2009 08:05:22 -0400
From: "David T. Lewis" <[hidden email]>
To: Squeak Virtual Machine Development Discussion <[hidden email]>
Subject: Re: [Vm-dev] Fwd: [Pharo-project] Could not load VMMaker in 10315

 
VMMaker (from SqueakSource) can now be loaded into closure-enabled images.

I was able to remove a couple of temp variables from the GeniePlugin
primitive without affecting the logic. This was discussed on several
lists back in May.

The fix is in VMMaker-dtl.135 on SqueakSource, and is documented in
Mantis http://bugs.squeak.org/view.php?id=7384.

Dave

On Mon, May 25, 2009 at 10:37:15PM -0400, David T. Lewis wrote:

>  
> On Mon, May 25, 2009 at 11:06:10AM -0700, Eliot Miranda wrote:
> >  
> > On Mon, May 25, 2009 at 7:40 AM, David T. Lewis <[hidden email]> wrote:
> >
> > >
> > > On Sun, May 24, 2009 at 01:44:52PM -0700, Eliot Miranda wrote:
> > > >
> > > > 3. refactor the GeniePlugin method into an outer args parser and an inner
> > > > engine method and solve the problem.  Since VMMaker will inline anyway
> > > this
> > > > shouldn't make performance worse.  I haven't done this because I'm not
> > > the
> > > > author and it is quite a complex method.
> > >
> > > This sounds like the right thing to do, regardless of what may change
> > > in the compiler(s).
> >
> >
> > +1
> >
>
> Well unfortunately the refactoring turns out to be easier said than done.
> At least it was easier for me to say it than it was for me to do it.
>
> I made a naive attempt to split the primitive into smaller methods, but this
> just ended up trading off too many things on the stack for too many arguments
> in an argument list.
>
> The method temp variables could be changed to be instance variables. This
> would probably work fine for any current VMs (not sure about Hydra), but
> it does not pass the smell test IMO.
>
> I suspect that Nathaniel Schaerli knew what he was doing when he wrote
> this primitive, and I most certainly do not, so I don't expect that I will
> make much further progress on this front.
>
> Dave

----- End forwarded message -----

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [lewis@mail.msen.com: Re: [Vm-dev] Fwd: Could not load VMMaker in 10315]

Igor Stasenko
2009/8/18 David T. Lewis <[hidden email]>:
> FYI. This problem was originally reported on the Pharo list earlier this
> year. The fix is now in VMMaker on SqueakSource.
>
Great!
Thank you David.

> ----- Forwarded message from "David T. Lewis" <[hidden email]> -----
>
> Date: Tue, 18 Aug 2009 08:05:22 -0400
> From: "David T. Lewis" <[hidden email]>
> To: Squeak Virtual Machine Development Discussion <[hidden email]>
> Subject: Re: [Vm-dev] Fwd: [Pharo-project] Could not load VMMaker in 10315
>
>
> VMMaker (from SqueakSource) can now be loaded into closure-enabled images.
>
> I was able to remove a couple of temp variables from the GeniePlugin
> primitive without affecting the logic. This was discussed on several
> lists back in May.
>
> The fix is in VMMaker-dtl.135 on SqueakSource, and is documented in
> Mantis http://bugs.squeak.org/view.php?id=7384.
>
> Dave
>
> On Mon, May 25, 2009 at 10:37:15PM -0400, David T. Lewis wrote:
>>
>> On Mon, May 25, 2009 at 11:06:10AM -0700, Eliot Miranda wrote:
>> >
>> > On Mon, May 25, 2009 at 7:40 AM, David T. Lewis <[hidden email]> wrote:
>> >
>> > >
>> > > On Sun, May 24, 2009 at 01:44:52PM -0700, Eliot Miranda wrote:
>> > > >
>> > > > 3. refactor the GeniePlugin method into an outer args parser and an inner
>> > > > engine method and solve the problem.  Since VMMaker will inline anyway
>> > > this
>> > > > shouldn't make performance worse.  I haven't done this because I'm not
>> > > the
>> > > > author and it is quite a complex method.
>> > >
>> > > This sounds like the right thing to do, regardless of what may change
>> > > in the compiler(s).
>> >
>> >
>> > +1
>> >
>>
>> Well unfortunately the refactoring turns out to be easier said than done.
>> At least it was easier for me to say it than it was for me to do it.
>>
>> I made a naive attempt to split the primitive into smaller methods, but this
>> just ended up trading off too many things on the stack for too many arguments
>> in an argument list.
>>
>> The method temp variables could be changed to be instance variables. This
>> would probably work fine for any current VMs (not sure about Hydra), but
>> it does not pass the smell test IMO.
>>
>> I suspect that Nathaniel Schaerli knew what he was doing when he wrote
>> this primitive, and I most certainly do not, so I don't expect that I will
>> make much further progress on this front.
>>
>> Dave
>
> ----- End forwarded message -----
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project