[Vm-dev] Re: [Pharo-dev] blog post

Eliot Miranda eliot.miranda at gmail.com
Tue Sep 10 15:39:44 UTC 2013

On Mon, Sep 9, 2013 at 8:50 PM, Florin Mateoc <florin.mateoc at gmail.com>wrote:

> On 9/9/2013 9:07 PM, Eliot Miranda wrote:
> >
> > Yes, NaN-boxing is a good name for an old idea.  Very cute.  But I'm not
> going there. :-)  Too much legacy, plus
> > Smalltalk isn't JavaScript (JavaScript doesn't have integers except
> inside certain VMs).
> >
> Ha! Your "Smalltalk isn't JavaScript" just made a light bulb go on. But
> isn't (or shouldn't) Slang (be) asm.js ?

No.  Adaptive optimization/speculative inlining (which one could
characterize as run-time type inference) is more interesting.  If AO/SI is
applied to a closed world and tests can cause complete coverage then I
contend one can translate a pure dynamically-typed VM implementation to C
or machine code without type annotations (or at least with minimal type
annotations).  Clearly there are holes here.  One cannot practicably cover
e.g. conversion from 64-bit integer or float values to tagged 61-bit
integer or float immediates.  But one can e.g. convert algorithms using Set
and Dictionary into inlined closure-free code.  That's what
Self/Strongtalk/HotSpot does.  As I understand it that's part of the goals
behind Gerardo Richarte and Javier Burroni's VM.   asm.js is similar to the
Slang approach and I think both are poor.

> > best,
> > Eliot

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20130910/e8a96ac0/attachment.htm

More information about the Vm-dev mailing list