зеркало из https://github.com/mozilla/gecko-dev.git
Bug 939614: IonMonkey: Enable reschedule same optimizationLevel if osrPc is different, r=jandem
This commit is contained in:
Родитель
5c72865a1a
Коммит
c1566d3c2c
|
@ -1726,15 +1726,15 @@ IonCompile(JSContext *cx, JSScript *script,
|
|||
return builder->abortReason();
|
||||
}
|
||||
|
||||
if (recompile) {
|
||||
JS_ASSERT(executionMode == SequentialExecution);
|
||||
builderScript->ionScript()->setRecompiling();
|
||||
} else {
|
||||
SetIonScript(builder->script(), executionMode, ION_COMPILING_SCRIPT);
|
||||
}
|
||||
|
||||
// If possible, compile the script off thread.
|
||||
if (OffThreadCompilationAvailable(cx)) {
|
||||
if (recompile) {
|
||||
JS_ASSERT(executionMode == SequentialExecution);
|
||||
builderScript->ionScript()->setRecompiling();
|
||||
} else {
|
||||
SetIonScript(builder->script(), executionMode, ION_COMPILING_SCRIPT);
|
||||
}
|
||||
|
||||
if (!StartOffThreadIonCompile(cx, builder)) {
|
||||
IonSpew(IonSpew_Abort, "Unable to start off-thread ion compilation.");
|
||||
return AbortReason_Alloc;
|
||||
|
@ -1928,9 +1928,15 @@ Compile(JSContext *cx, HandleScript script, BaselineFrame *osrFrame, jsbytecode
|
|||
|
||||
// Don't recompile/overwrite higher optimized code,
|
||||
// with a lower optimization level.
|
||||
if (optimizationLevel <= scriptIon->optimizationLevel())
|
||||
if (optimizationLevel < scriptIon->optimizationLevel())
|
||||
return failedState;
|
||||
|
||||
if (optimizationLevel == scriptIon->optimizationLevel() &&
|
||||
(!osrPc || script->ionScript()->osrPc() == osrPc))
|
||||
{
|
||||
return failedState;
|
||||
}
|
||||
|
||||
// Don't start compiling if already compiling
|
||||
if (scriptIon->isRecompiling())
|
||||
return failedState;
|
||||
|
|
Загрузка…
Ссылка в новой задаче