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

David T. Lewis lewis at mail.msen.com
Thu Feb 13 00:48:05 UTC 2014


On Thu, Feb 13, 2014 at 12:28:40AM +0000, 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.340.mcz
> 
> ==================== Summary ====================
> 
> Name: VMMaker-dtl.340
> Author: dtl
> Time: 11 February 2014, 8:04:47.752 pm
> UUID: 640fa600-e4e0-4cdd-ae74-c6cf1b51b763
> Ancestors: VMMaker-dtl.339
> 
> VMMaker 4.13.2
> 
> For primitiveAllObjects, move the allObjects logic to ObjectMemory.
> 
> Incorporate various oscog code generation improvements, including code generation for sending #value: to a block, and elimination of unnecessary temp vars in inlining, for example, generate this:
> 
> 	thisWord = long32At(sourceIndex);
> 
> instead of this:
> 
> 	idx7 = sourceIndex;
> 	thisWord = long32At(idx7);
>

A note concerning the code generation - This update results in a regression
in that some inlined methods are no longer being inlined, for example fetchClassOf:
should be inlined within findSelectorOfMethod:forReceiver: but this is now
retained as a function call. I have not identified the reason for the regression,
however this update gives a significant reduction in unneeded temporary variable
generation, which is an important improvement. Credit for the reduction in temporary
variables goes to Eliot, and blame for the inlining regression is mine.

Dave
 


More information about the Vm-dev mailing list