зеркало из https://github.com/mozilla/gecko-dev.git
Bug 900487: Fix bailoutIf to be complaint with parallel js. (r=shu)
This commit is contained in:
Родитель
f8003dab46
Коммит
b365cfa9df
|
@ -171,6 +171,22 @@ CodeGeneratorARM::generateOutOfLineCode()
|
||||||
bool
|
bool
|
||||||
CodeGeneratorARM::bailoutIf(Assembler::Condition condition, LSnapshot *snapshot)
|
CodeGeneratorARM::bailoutIf(Assembler::Condition condition, LSnapshot *snapshot)
|
||||||
{
|
{
|
||||||
|
CompileInfo &info = snapshot->mir()->block()->info();
|
||||||
|
switch (info.executionMode()) {
|
||||||
|
|
||||||
|
case ParallelExecution: {
|
||||||
|
// in parallel mode, make no attempt to recover, just signal an error.
|
||||||
|
OutOfLineAbortPar *ool = oolAbortPar(ParallelBailoutUnsupported,
|
||||||
|
snapshot->mir()->block(),
|
||||||
|
snapshot->mir()->pc());
|
||||||
|
masm.ma_b(ool->entry(), condition);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
case SequentialExecution:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
MOZ_ASSUME_UNREACHABLE("No such execution mode");
|
||||||
|
}
|
||||||
if (!encode(snapshot))
|
if (!encode(snapshot))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -205,6 +221,7 @@ CodeGeneratorARM::bailoutFrom(Label *label, LSnapshot *snapshot)
|
||||||
|
|
||||||
CompileInfo &info = snapshot->mir()->block()->info();
|
CompileInfo &info = snapshot->mir()->block()->info();
|
||||||
switch (info.executionMode()) {
|
switch (info.executionMode()) {
|
||||||
|
|
||||||
case ParallelExecution: {
|
case ParallelExecution: {
|
||||||
// in parallel mode, make no attempt to recover, just signal an error.
|
// in parallel mode, make no attempt to recover, just signal an error.
|
||||||
OutOfLineAbortPar *ool = oolAbortPar(ParallelBailoutUnsupported,
|
OutOfLineAbortPar *ool = oolAbortPar(ParallelBailoutUnsupported,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче