On 8/7/16, 2:19 AM, "Harbs" <harbs.li...@gmail.com> wrote:

>BTW, I think another change to Language is a good idea:
>
>Currently default function parameters are compiled like this:
>
>public static function getBottomValue(value:Object, values:Object,
>reference:Number = NaN):Number
>{
>    return getSideValue(value, values, 2, reference);
>}
>
>org.apache.flex.utils.CSSUtils.getBottomValue = function(value, values,
>reference) {
>  reference = typeof reference !== 'undefined' ? reference : NaN;
>  return org.apache.flex.utils.CSSUtils.getSideValue(value, values, 2,
>reference);
>};
>
>This line cannot be completely optimized by the Closure compiler:
>reference = typeof reference !== 'undefined' ? reference : NaN;
>
>Here’s the best it does:
>c='undefined'!==typeof c?c:NaN;
>
>By doing this:
>Language.initialize(reference,”Number",NaN);
>I think it can be optimized to something like:
>cZ(c,fG,NaN);

Why would a function call be faster than inline ternary expression?

You can build a manual test with GCC to prove your hypothesis before we go
changing the compiler.  IIRC, the pattern we use is a common one.

Thanks,
-Alex

Reply via email to