зеркало из https://github.com/mozilla/gecko-dev.git
Bug 937697 - Simplify some BoundsCheckRange code. r=bhackett
--HG-- extra : rebase_source : 719258647e87d0bf52636e5d23085e2f1f7e2ec5
This commit is contained in:
Родитель
37ef87be41
Коммит
579911751f
|
@ -5013,16 +5013,19 @@ CodeGenerator::visitBoundsCheckRange(LBoundsCheckRange *lir)
|
|||
masm.add32(Imm32(min), temp);
|
||||
if (!bailoutIf(Assembler::Overflow, lir->snapshot()))
|
||||
return false;
|
||||
}
|
||||
|
||||
masm.cmp32(temp, Imm32(0));
|
||||
if (!bailoutIf(Assembler::LessThan, lir->snapshot()))
|
||||
return false;
|
||||
|
||||
if (min != 0) {
|
||||
int32_t diff;
|
||||
if (SafeSub(max, min, &diff))
|
||||
max = diff;
|
||||
else
|
||||
masm.sub32(Imm32(min), temp);
|
||||
}
|
||||
|
||||
masm.cmp32(temp, Imm32(0));
|
||||
if (!bailoutIf(Assembler::LessThan, lir->snapshot()))
|
||||
return false;
|
||||
}
|
||||
|
||||
// Compute the maximum possible index. No overflow check is needed when
|
||||
|
|
Загрузка…
Ссылка в новой задаче