[Vm-dev] Fwd: [Pharo-project] Could not load VMMaker in 10315

David T. Lewis lewis at mail.msen.com
Tue Aug 18 12:05:22 UTC 2009


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 <lewis at mail.msen.com> 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 


More information about the Vm-dev mailing list