[Vm-dev] Fwd: [Pharo-project] Could not load VMMaker in 10315
David T. Lewis
lewis at mail.msen.com
Tue May 26 02:37:15 UTC 2009
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).
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.
More information about the Vm-dev