зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1254106 - IonMonkey: Disable assertion of incorrect labels on OOM on ARM, like on x86 and x64, r=jandem
This commit is contained in:
Родитель
24a20f7546
Коммит
99dfa87ea8
|
@ -2771,6 +2771,13 @@ Assembler::bind(Label* label, BufferOffset boff)
|
|||
#ifdef JS_DISASM_ARM
|
||||
spewLabel(label);
|
||||
#endif
|
||||
if (oom()) {
|
||||
// Ensure we always bind the label. This matches what we do on
|
||||
// x86/x64 and silences the assert in ~Label.
|
||||
label->bind(0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (label->used()) {
|
||||
bool more;
|
||||
// If our caller didn't give us an explicit target to bind to then we
|
||||
|
@ -2778,13 +2785,6 @@ Assembler::bind(Label* label, BufferOffset boff)
|
|||
BufferOffset dest = boff.assigned() ? boff : nextOffset();
|
||||
BufferOffset b(label);
|
||||
do {
|
||||
// Even a 0 offset may be invalid if we're out of memory.
|
||||
if (oom()) {
|
||||
// Ensure we always bind the label. This matches what we do on
|
||||
// x86/x64 and silences the assert in ~Label.
|
||||
label->bind(0);
|
||||
return;
|
||||
}
|
||||
BufferOffset next;
|
||||
more = nextLink(b, &next);
|
||||
Instruction branch = *editSrc(b);
|
||||
|
@ -2799,6 +2799,7 @@ Assembler::bind(Label* label, BufferOffset boff)
|
|||
} while (more);
|
||||
}
|
||||
label->bind(nextOffset().getOffset());
|
||||
MOZ_ASSERT(!oom());
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Загрузка…
Ссылка в новой задаче