[Vm-dev] VM Maker: VMMaker-dtl.348.mcz
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>
> 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
> > > declared static, therefore guaranteed to be initialized to 0. Also
> > > 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
> 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
> > > 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
> code merges, rather than going out to mow the lawn ;-)
In nay case have a lovely afternoon!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Vm-dev