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 |
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 |
Free forum by Nabble | Edit this page |