mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 960145 - IonMonkey: Don't ignore OSR-like values when computing phi ranges. r=mrosenberg
This commit is contained in:
parent
f0c7354cd5
commit
4fe6d4ab6e
@ -85,8 +85,6 @@ class MUse;
|
||||
class MIRGraph;
|
||||
class MResumePoint;
|
||||
|
||||
static inline bool isOSRLikeValue (MDefinition *def);
|
||||
|
||||
// Represents a use of a node.
|
||||
class MUse : public TempObject, public InlineListNode<MUse>
|
||||
{
|
||||
@ -9747,17 +9745,6 @@ MInstruction *MDefinition::toInstruction()
|
||||
return (MInstruction *)this;
|
||||
}
|
||||
|
||||
static inline bool isOSRLikeValue (MDefinition *def) {
|
||||
if (def->isOsrValue())
|
||||
return true;
|
||||
|
||||
if (def->isUnbox())
|
||||
if (def->getOperand(0)->isOsrValue())
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
typedef Vector<MDefinition *, 8, IonAllocPolicy> MDefinitionVector;
|
||||
|
||||
// Helper functions used to decide how to build MIR.
|
||||
|
@ -998,16 +998,12 @@ MPhi::computeRange(TempAllocator &alloc)
|
||||
return;
|
||||
|
||||
Range *range = nullptr;
|
||||
JS_ASSERT(!isOSRLikeValue(getOperand(0)));
|
||||
for (size_t i = 0, e = numOperands(); i < e; i++) {
|
||||
if (getOperand(i)->block()->unreachable()) {
|
||||
IonSpew(IonSpew_Range, "Ignoring unreachable input %d", getOperand(i)->id());
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isOSRLikeValue(getOperand(i)))
|
||||
continue;
|
||||
|
||||
// Peek at the pre-bailout range so we can take a short-cut; if any of
|
||||
// the operands has an unknown range, this phi has an unknown range.
|
||||
if (!getOperand(i)->range())
|
||||
|
Loading…
Reference in New Issue
Block a user