зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1122723 - Fold MConcat when used with the empty string. r=h4writer
This commit is contained in:
Родитель
ea8b6889bf
Коммит
1c263c6f62
|
@ -1142,6 +1142,18 @@ MStringLength::foldsTo(TempAllocator &alloc)
|
|||
return this;
|
||||
}
|
||||
|
||||
MDefinition *
|
||||
MConcat::foldsTo(TempAllocator &alloc)
|
||||
{
|
||||
if (lhs()->isConstantValue() && lhs()->constantValue().toString()->empty())
|
||||
return rhs();
|
||||
|
||||
if (rhs()->isConstantValue() && rhs()->constantValue().toString()->empty())
|
||||
return lhs();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
static bool
|
||||
EnsureFloatInputOrConvert(MUnaryInstruction *owner, TempAllocator &alloc)
|
||||
{
|
||||
|
|
|
@ -6123,6 +6123,7 @@ class MConcat
|
|||
return new(alloc) MConcat(left, right);
|
||||
}
|
||||
|
||||
MDefinition *foldsTo(TempAllocator &alloc) MOZ_OVERRIDE;
|
||||
bool congruentTo(const MDefinition *ins) const MOZ_OVERRIDE {
|
||||
return congruentIfOperandsEqual(ins);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче