mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 768288: IonMonkey: Inline small functions with loops, r=djvj
This commit is contained in:
parent
f878b2e909
commit
2a8d186f9c
@ -3537,6 +3537,12 @@ IonBuilder::makeInliningDecision(JSFunction *target, CallInfo &callInfo)
|
||||
targetScript->filename(), targetScript->lineno);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (targetScript->analysis()->hasLoops()) {
|
||||
IonSpew(IonSpew_Inlining, "%s:%d - Vetoed: big function that contains a loop",
|
||||
targetScript->filename(), targetScript->lineno);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Always inline the empty script up to the inlining depth.
|
||||
|
@ -65,7 +65,7 @@ ScriptAnalysis::addJump(JSContext *cx, unsigned offset,
|
||||
|
||||
if (offset < *currentOffset) {
|
||||
/* Scripts containing loops are never inlined. */
|
||||
isJaegerInlineable = isIonInlineable = false;
|
||||
isJaegerInlineable = false;
|
||||
hasLoops_ = true;
|
||||
|
||||
if (code->analyzed) {
|
||||
|
Loading…
Reference in New Issue
Block a user