Commit c263db03 authored by Ed Morley's avatar Ed Morley
Browse files

Backout 67f93efc40c8 (bug 777583) for compilation errors on a CLOSED TREE

parent b75e7e52
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -129,12 +129,6 @@ struct IonOptions
    // Default: 800
    uint32 inlineMaxTotalBytecodeLength;

    // Minimal ratio between the use counts of the caller and the callee to
    // enable inlining of functions.
    //
    // Default: 128
    uint32 inlineUseCountRatio;

    // Whether functions are compiled immediately.
    //
    // Default: false
@@ -176,7 +170,6 @@ struct IonOptions
        smallFunctionUsesBeforeInlining(usesBeforeInlining / 4),
        polyInlineMax(4),
        inlineMaxTotalBytecodeLength(800),
        inlineUseCountRatio(128),
        eagerCompilation(false),
        slowCallLimit(512)
    {
+0 −10
Original line number Diff line number Diff line
@@ -2898,10 +2898,6 @@ IonBuilder::makeInliningDecision(AutoObjectVector &targets)
    //  2. The cost of inlining (in terms of size expansion of the SSA graph),
    //     and size expansion of the ultimately generated code, will be
    //     less significant.
    //  3. Do not inline functions which are not called as frequently as their
    //     callers.

    uint32_t callerUses = script->getUseCount();

    uint32_t totalSize = 0;
    uint32_t checkUses = js_IonOptions.usesBeforeInlining;
@@ -2912,18 +2908,12 @@ IonBuilder::makeInliningDecision(AutoObjectVector &targets)
            return false;

        JSScript *script = target->script();
        uint32_t calleeUses = script->getUseCount();
        totalSize += script->length;
        if (totalSize > js_IonOptions.inlineMaxTotalBytecodeLength)
            return false;

        if (script->length > js_IonOptions.smallFunctionMaxBytecodeLength)
            allFunctionsAreSmall = false;

        if (calleeUses * js_IonOptions.inlineUseCountRatio < callerUses) {
            IonSpew(IonSpew_Inlining, "Not inlining, callee is not hot");
            return false;
        }
    }
    if (allFunctionsAreSmall)
        checkUses = js_IonOptions.smallFunctionUsesBeforeInlining;