mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backed out changeset 5f2e8622f945 (bug 1139376) for causing frequent Win8 w-p-t timeouts.
This commit is contained in:
parent
c04907d576
commit
2f3b6247c5
@ -1,13 +0,0 @@
|
||||
// |jit-test| error:ReferenceError
|
||||
|
||||
(function() {
|
||||
var $10=0;
|
||||
while (1) {
|
||||
switch (stack.label & 2) {
|
||||
case 1:
|
||||
return $8|0;
|
||||
case 49:
|
||||
if ($10) {}
|
||||
}
|
||||
}
|
||||
})()()
|
@ -3335,8 +3335,8 @@ RangeAnalysis::prepareForUCE(bool* shouldRemoveDeadCode)
|
||||
return tryRemovingGuards();
|
||||
}
|
||||
|
||||
bool RangeAnalysis::tryRemovingGuards()
|
||||
{
|
||||
bool RangeAnalysis::tryRemovingGuards() {
|
||||
|
||||
MDefinitionVector guards(alloc());
|
||||
|
||||
for (ReversePostorderIterator block = graph_.rpoBegin(); block != graph_.rpoEnd(); block++) {
|
||||
@ -3364,22 +3364,20 @@ bool RangeAnalysis::tryRemovingGuards()
|
||||
guard->setGuardRangeBailouts();
|
||||
#endif
|
||||
|
||||
if (!guard->isPhi()) {
|
||||
if (!guard->range())
|
||||
continue;
|
||||
if (!guard->range())
|
||||
continue;
|
||||
|
||||
// Filter the range of the instruction based on its MIRType.
|
||||
Range typeFilteredRange(guard);
|
||||
// Filter the range of the instruction based on its MIRType.
|
||||
Range typeFilteredRange(guard);
|
||||
|
||||
// If the output range is updated by adding the inner range,
|
||||
// then the MIRType act as an effectful filter. As we do not know if
|
||||
// this filtered Range might change or not the result of the
|
||||
// previous comparison, we have to keep this instruction as a guard
|
||||
// because it has to bailout in order to restrict the Range to its
|
||||
// MIRType.
|
||||
if (typeFilteredRange.update(guard->range()))
|
||||
continue;
|
||||
}
|
||||
// If the output range is updated by adding the inner range,
|
||||
// then the MIRType act as an effectful filter. As we do not know if
|
||||
// this filtered Range might change or not the result of the
|
||||
// previous comparison, we have to keep this instruction as a guard
|
||||
// because it has to bailout in order to restrict the Range to its
|
||||
// MIRType.
|
||||
if (typeFilteredRange.update(guard->range()))
|
||||
continue;
|
||||
|
||||
guard->setNotGuardRangeBailouts();
|
||||
|
||||
|
@ -682,7 +682,7 @@ ValueNumberer::loopHasOptimizablePhi(MBasicBlock* header) const
|
||||
// values from backedges.
|
||||
for (MPhiIterator iter(header->phisBegin()), end(header->phisEnd()); iter != end; ++iter) {
|
||||
MPhi* phi = *iter;
|
||||
MOZ_ASSERT_IF(!phi->hasUses(), !DeadIfUnused(phi));
|
||||
MOZ_ASSERT(phi->hasUses(), "Missed an unused phi");
|
||||
|
||||
if (phi->operandIfRedundant() || hasLeader(phi, header))
|
||||
return true; // Phi can be simplified.
|
||||
|
Loading…
Reference in New Issue
Block a user