From 1bc988d6eef91b8cd288f203ad952896bae9beb2 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Tue, 11 Feb 2014 17:37:05 -0500 Subject: [PATCH] Bug 960145 - IonMonkey: Don't ignore OSR-like values when computing phi ranges. r=mrosenberg --- js/src/jit/MIR.h | 13 ------------- js/src/jit/RangeAnalysis.cpp | 4 ---- 2 files changed, 17 deletions(-) diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h index d91a610587be..da91041cbc42 100644 --- a/js/src/jit/MIR.h +++ b/js/src/jit/MIR.h @@ -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 { @@ -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 MDefinitionVector; // Helper functions used to decide how to build MIR. diff --git a/js/src/jit/RangeAnalysis.cpp b/js/src/jit/RangeAnalysis.cpp index 4d0a8b461b06..d9bd076ae15b 100644 --- a/js/src/jit/RangeAnalysis.cpp +++ b/js/src/jit/RangeAnalysis.cpp @@ -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())