mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backout 67f93efc40c8 (bug 777583) for compilation errors on a CLOSED TREE
This commit is contained in:
parent
f2b6cb61ab
commit
968d0eeca3
@ -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)
|
||||
{
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user