[Vm-dev] Closure bytecodes added to VM (was: [squeak-dev] Status
of 4.0)
David T. Lewis
lewis at mail.msen.com
Sun Feb 22 20:56:36 UTC 2009
FYI, Eliot's closure bytecode support is now included in VMMaker on SqueakSource
as VMMaker-eem.114. A couple of updates were required to get this to load into
a vanilla Squeak image; these are in VMMaker-dtl.115.
The changes are backward compatible, and it is safe to use this for general
purpose VM building. There are a number of new numbered primitives, and I
can't say if these might cause conflicts with other VM projects (Exupery?).
Dave
On Wed, Feb 18, 2009 at 11:03:17PM -0500, David T. Lewis wrote:
>
> Eliot,
>
> Excellent, thanks for committing this directly to the SqueakSource project.
> I'm short of time now but look forward to building a VM with closure
> bytecodes this weekend.
>
> (subject line changed, and CC to vm-dev list)
>
> Dave
>
> On Wed, Feb 18, 2009 at 05:50:33PM -0800, Eliot Miranda wrote:
> > On Sun, Feb 15, 2009 at 6:57 PM, David T. Lewis <lewis at mail.msen.com> wrote:
> >
> > > On Sun, Feb 15, 2009 at 06:18:15PM -0800, John M McIntosh wrote:
> > > >
> > > > On 15-Feb-09, at 6:06 PM, Eliot Miranda wrote:
> > > > >Works for me. When and if the VM is no longer backwards-compatible
> > > > >(e.g. the Stack VM) one can move to 5.0.
> > > > >However, I would recommend getting the VM changes into the 4.0 VM as
> > > > >this will make migrating to image-level closures much easier. I
> > > > >believe (John, can you confirm) that John's latest Mac 3.8 beta VMs
> > > > >have included the closure bytecodes.
> > > >
> > > > Well I've not done that (yet) was waiting on Eliot for the latest VM
> > > > changes before christmas. Then I've been
> > > > distracted by an iPhone application.
> > > >
> > > > I recall David T and I last discussed the issues around the source
> > > > code changes and how it cheerfully
> > > > upgrades your image, which then makes it un-run-able on the raft of
> > > > VMs one has on one's machine, but
> > > > I recall we thought we could tie the image version change on save to
> > > > only happen if in fact the image
> > > > *uses* the closure bytes code.
> > >
> > > Right, Eliot's bytecode changes are fully backward compatible, so they
> > > can be added to VMMaker without breaking anything. The image version
> > > numbering change needs to be left out for now, but that's a small issue
> > > that can be the subject of separate discussion.
> >
> >
> > I've fixed the image numbering version issue. The VM has a variable holding
> > the version number which is initialized to teh standard version. If the
> > create-closure bytecode is evaluated it changes to the new version. Hence
> > the VM can safely be used for both old and new and will not change the image
> > version unless it should be changed.
> >
> > Eliot, if you can confirm that the bytecode changes are ready for
> > > release, and that the license is <whatever>, then I'll volunteer to
> > > add your bytecode bootstrap changes to the Squeaksource VMMaker project
> > > and make whatever minor changes are needed to avoid the image numbering
> > > glitch.
> >
> >
> > They're ready for your and John's review. See
> > Name: VMMaker-eem.114
> > Author: eem
> > Time: 18 February 2009, 5:42:18 pm
> > UUID: 169887e2-d54c-43a6-9042-eabfcaa08146
> > Ancestors: VMMaker-dtl.113
> > in http://squeaksource.com/VMMaker. There's a verbose version comment
> > describing the changes. It omitted to mention that in the version of
> > Monticello I'm using class variables appear in alphabetical order and hence
> > there are some artificial changes in class definitions.
> >
> > The license is the new Squeak license because I am the author of these
> > changes and have informed Yoshiki that I assent to the new Squeak licencing
> > scheme. Sorry for being so inarticulate; I'm not sure what the right form
> > of words is for this :/
> >
> > Best
> > Eliot
> >
> > P.S. John and David, thanks for your help today, and apologies for the
> > delay.
> >
> > >
> > >
> > > Dave
> > >
> > >
> > >
> > >
More information about the Vm-dev
mailing list