On Thu, Sep 15, 2011 at 9:02 AM, Andreas Rossberg <[email protected]> wrote: > On 14 September 2011 00:00, Brendan Eich <[email protected]> wrote: >> >> So, static+dynamic. The static side has some powerful algorithms to bring to >> bear. Dynamic is necessary due to eval and kin, and gives strictly more >> information (and more relevant information!). > > Nitpick: I believe you are mistaken about the "strictly more" bit. > There is information that _only_ static analysis can derive. Consider > e.g. aliasing or escape analysis, or other kinds of global properties.
There are systems that handle escape analysis cases via write barriers, no? Alias detection (or more importantly non-alias determinations) seem amenable to the assume-and-guard model used for PICs and trace selection and other code specialization patterns seen all over modern JS engines. The TraceMonkey engine tracks many global properties (including the properties of globals) to deoptimize as needed and optimize where possible; our TI and IonMonkey work goes even further. Mike _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

