Bug 1687959 - Move setBailoutKind() out of MLoadDynamicSlotAndUnbox, MLoadElementAndUnbox r=jandem

All three load operations are handled consistently now.

Depends on D138586

Differential Revision: https://phabricator.services.mozilla.com/D138691
This commit is contained in:
Bryan Thrall 2022-02-16 15:56:31 +00:00
Родитель 20ae294814
Коммит a6ff477d0d
2 изменённых файлов: 1 добавлений и 3 удалений

Просмотреть файл

@ -4044,7 +4044,6 @@ bool jit::FoldLoadsWithUnbox(MIRGenerator* mir, MIRGraph& graph) {
auto* loadIns = load->toLoadFixedSlot();
replacement = MLoadFixedSlotAndUnbox::New(
graph.alloc(), loadIns->object(), loadIns->slot(), mode, type);
replacement->setBailoutKind(BailoutKind::UnboxFolding);
break;
}
case MDefinition::Opcode::LoadDynamicSlot: {
@ -4063,6 +4062,7 @@ bool jit::FoldLoadsWithUnbox(MIRGenerator* mir, MIRGraph& graph) {
default:
MOZ_CRASH("Unexpected instruction");
}
replacement->setBailoutKind(BailoutKind::UnboxFolding);
block->insertBefore(load, replacement);
unbox->replaceAllUsesWith(replacement);

Просмотреть файл

@ -6540,7 +6540,6 @@ class MLoadElementAndUnbox : public MBinaryInstruction,
if (mode_ == MUnbox::Fallible) {
setGuard();
}
setBailoutKind(BailoutKind::UnboxFolding);
}
public:
@ -7214,7 +7213,6 @@ class MLoadDynamicSlotAndUnbox : public MUnaryInstruction,
if (mode_ == MUnbox::Fallible) {
setGuard();
}
setBailoutKind(BailoutKind::UnboxFolding);
}
public: