[Vm-dev] VM Maker: VMMaker-oscog.50.mcz

Eliot Miranda eliot.miranda at gmail.com
Thu Mar 17 16:43:29 UTC 2011


On Thu, Mar 17, 2011 at 6:37 AM, Frank Shearar <frank.shearar at angband.za.org
> wrote:

>
> On 2011/03/17 13:10, Matthew Fulmer wrote:
>
>>
>> On Wed, Mar 16, 2011 at 10:02:43PM +0000,
>> squeak-dev-noreply at lists.squeakfoundation.org wrote:
>>
>>>
>>> Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
>>> http://www.squeaksource.com/VMMaker/VMMaker-oscog.50.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: VMMaker-oscog.50
>>> Author: eem
>>> Time: 16 March 2011, 10:56:06 am
>>> UUID: cc1d11ad-11f4-41d6-abfe-48f03fd9a405
>>> Ancestors: VMMaker-eem.737, VMMaker-oscog.49
>>>
>>> Sista: Speculative-inlining Smalltalk architecture
>>>
>>
>> Woah. is this polymorphic inline caching for squeak? we need to
>> pay you more
>>
>
> From what little I understand on http://www.mirandabanda.org/cogblog/, Cog
> already uses PICs.
>

Right.


>
> This looks like measurement/instrospection/inspection stuff?
>

Yes.  Specifically counting of conditional branches and calling back when a
counter reaches zero provides a means for the VM to report "hot spots". The
image is then invoked in a hot spot, acn use the introspection facilities to
discover the types at call sites (that's what PICs record) and from that the
image is in a position to create optimized bytecoded methods that
speculatively inline code.  The inlining is speculative because the type
information in PICs reflects only the types at each send in the current
programme and say nothing about what the types may be in the future (but
they're a good predictor).  So the inliner must preceed code that assumes
types with checks of those types.  You can think of it as hoisting out
invariant checks such as class membership as far as possible in an optimized
method and then, once past those outer checks, nothing needs to be checked
in the inner loops.  Hence performance.

I'm working with Marcus Denker and Colin Putney on this and we're interested
in contributions from strong low-level and/or high-level programmers with an
interest in optimization.  e.g. if you've read and understood and been
excited by Munchnik<http://www.amazon.com/Advanced-Compiler-Design-Implementation-Muchnick/dp/1558603204/ref=sr_1_1?s=books&ie=UTF8&qid=1300380158>we're
interested in having you aboard.

>
> (But otherwise I agree!)
>
> frank
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20110317/160176f0/attachment-0001.htm


More information about the Vm-dev mailing list