On Tue, Aug 18, 2009 at 5:05 AM, David T. Lewis lewis@mail.msen.com wrote:
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.
Thanks, Dave, that's great!
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@mail.msen.com
wrote:
On Sun, May 24, 2009 at 01:44:52PM -0700, Eliot Miranda wrote:
- 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