diff options
author | Jan de Mooij <jdemooij@mozilla.com> | 2020-07-29 10:36:00 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-07-29 14:28:36 +0000 |
commit | 71293f0fe4db15d4e0309488337ab4669e9c55b3 (patch) | |
tree | 94d763533b45ab91c0be1bac9908a17b04755960 /js | |
parent | a91722be27ce3bd541ca10155fe80d81202785ad (diff) | |
download | UXP-71293f0fe4db15d4e0309488337ab4669e9c55b3.tar UXP-71293f0fe4db15d4e0309488337ab4669e9c55b3.tar.gz UXP-71293f0fe4db15d4e0309488337ab4669e9c55b3.tar.lz UXP-71293f0fe4db15d4e0309488337ab4669e9c55b3.tar.xz UXP-71293f0fe4db15d4e0309488337ab4669e9c55b3.zip |
[js] Fix Sink to check for non-recoverable operands.
Diffstat (limited to 'js')
-rw-r--r-- | js/src/jit/Sink.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/js/src/jit/Sink.cpp b/js/src/jit/Sink.cpp index b2c36fae5..2764fc1cb 100644 --- a/js/src/jit/Sink.cpp +++ b/js/src/jit/Sink.cpp @@ -71,8 +71,12 @@ Sink(MIRGenerator* mir, MIRGraph& graph) for (MUseIterator i(ins->usesBegin()), e(ins->usesEnd()); i != e; i++) { hasUses = true; MNode* consumerNode = (*i)->consumer(); - if (consumerNode->isResumePoint()) + if (consumerNode->isResumePoint()) { + if (!consumerNode->toResumePoint()->isRecoverableOperand(*i)) { + hasLiveUses = true; + } continue; + } MDefinition* consumer = consumerNode->toDefinition(); if (consumer->isRecoveredOnBailout()) |