VM included methods (was: Slang question (was: Re: [squeak-dev] The Trunk: Collections-ul.685.mcz))

David T. Lewis lewis at mail.msen.com
Fri Apr 8 12:33:59 UTC 2016


On Fri, Apr 08, 2016 at 12:21:52PM +0200, Bert Freudenberg wrote:
> 
> > On 03.04.2016, at 19:45, Levente Uzonyi <leves at caesar.elte.hu> wrote:

<snip>

> > 
> > I wonder if the #ifNil: check is correct in Slang. 
> 
> It???s not correct. Arguably the translation for MiscPrims should deal with it but then there would be special semantics for that, which is probably not a good idea. The way to check arguments in Slang is to see if they have the number of pointer slots you???re expecting.
> 
> Besides, for ByteStrings this primitive is always called with a proper matchTable. No check needed.
> 

I think we're going to need to take a closer look at the various methods in
trunk that are translated for the VM. It may be that e.g. image changes for
immediate characters are changing the generated plugins in ways that are
going unnoticed.

It also may be that some of the primitives are simply not needed for Cog/Spur,
so some performance checks may be in order there. Given that the jit is
already optimizing the methods, does translating those methods to primitives
still provide any additional benefit?

The VM plugins that make use of methods translated from the image are
MiscPrimitivePlugin, SoundGeneratorPlugin, and ADPCMCodecPlug.

Dave



More information about the Squeak-dev mailing list