performance of OO dispatch in inner loops

ToolmakerSteve98 toolmakersteve98 at
Sun Mar 23 23:13:40 PDT 2008

From: "Brendan Eich" <brendan at>
[responding to David Teller's post in response to some questions I raised]
> You really should read the papers, and Andreas Gal's blog. Runtime
> types are only one of many kinds of information available to runtime
> optimizers. Tracing loops allows hoisting and even allocation
> elimination, using escape analysis. Common sub-expression elimination
> can consider trace-invariant expressions. One can guard all sorts of
> on-trace assumptions and compensate to the interpretr, re-tracing
> other hot paths. It's not just about types.

Thanks Brendan -- useful comments and pointers to further info.

What kind of processing power / memory do these analytic techniques use?

The fundamental question I want to ask (in my ignorance) is to what degree 
ES4 "raises the bar" on what a minimal web client can be.

I am partially reassured in hearing from those who are working towards 
mobile implementations, but I still have a gut sense that this is 
envelope-pushing stuff.

I'm really glad this work is done, but until it is proven, I hesitate to 
promote the notion that web citizenship [for client devices] should be 
dependent on all this. Any other comparable project I've seen, this would be 
considered "R & D" phase.

Don't misunderstand me; I believe ES4 will come to fruition, and that it, as 
the next version of the language of the web, will have massive positive 
impact. I want to do my part to help this be a success, and in particular to 
help it fit well with stuff that Microsoft and Adobe are doing, as 
everything I do is dependent on those companies' tools and technologies.


More information about the Es4-discuss mailing list