[Vm-dev] VM Maker: VMMaker-dtl.348.mcz

Eliot Miranda eliot.miranda at gmail.com
Sun Jul 20 19:20:25 UTC 2014


On Sun, Jul 20, 2014 at 11:38 AM, David T. Lewis <lewis at mail.msen.com>
wrote:

>
> On Sun, Jul 20, 2014 at 11:11:35AM -0700, Eliot Miranda wrote:
> >
> > Morning, David.
>
> Hi Eliot,
>
> Just finished mowing the lawn, back to Squeak for a few minutes :)
>
> >
> > On Sun, Jul 20, 2014 at 9:04 AM, <commits at source.squeak.org> wrote:
> >
> > >
> > > David T. Lewis uploaded a new version of VMMaker to project VM Maker:
> > > http://source.squeak.org/VMMaker/VMMaker-dtl.348.mcz
> > >
> > > ==================== Summary ====================
> > >
> > > Name: VMMaker-dtl.348
> > > Author: dtl
> > > Time: 20 July 2014, 11:57:32.241 am
> > > UUID: 869e87ed-0476-48a8-bca8-fe779633f9ae
> > > Ancestors: VMMaker-dtl.347
> > >
> > > VMMaker 4.13.6
> > > Merge VMMaker.oscog-eem.826 except:
> > > - Do not add the #initialize methods, not required because variables
> are
> > > declared static, therefore guaranteed to be initialized to 0. Also
> would
> > > require code generator changes for special treatment of instance side
> > > #initialize..
> > >
> >
> > David, the #initialize methods /are/ needed. If one were to simulate this
> > plugin (which vm developers /do/ do; none of the Cog VMs would exist
> > without it) then the #initialize methods are required to initialize those
> > variables to 0, not nil.
>
> I think you have probably added some code generation features to do the
> right
> thing with an #initialize method on the instance side of a plugin. Whatever
> those changes are, they are not yet in VMM trunk.
>

See CCodeGenerator>>addMethodFor:selector: for exclusion if #initialize
methods.  But I can't remember doing this, only fixing global variable
analysis given that #initialize methods were removed.  This is the kind of
thing (more sophisticated Slang) that makes me want to merge Interpreter
into the Cog branch. not the other way around.


> >
> >
> > > - Do not ^self unnecessarily, not required here and code generated
> changes
> > > would be needed.
> > >
> >
> > Could you give me the instances?  I'm fairly sure I wouldn't have added a
> > ^self if it wasn't needed.  Maybe I mad a mistake?
>
> No you did not make a mistake, it's just a code generation feature in
> oscog that
> is not in trunk. In this case, the return value was not checked, so there
> was no
> need to change the original code from '^ 0' to '^ self'.
>
> That in turn left me with no defensible reason to spend the afternoon on
> further
> code merges, rather than going out to mow the lawn ;-)
>

:-)

In nay case have a lovely afternoon!

-- 
Aloha,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140720/e50d822a/attachment.htm


More information about the Vm-dev mailing list