Bug 900297: Folds MToDouble in its input if it is already a double; r=sstangl

This commit is contained in:
Benjamin Bouvier 2013-08-01 17:05:23 -07:00
Родитель 391654aa12
Коммит 6e5133d3c8
1 изменённых файлов: 6 добавлений и 2 удалений

Просмотреть файл

@ -1911,8 +1911,12 @@ MTruncateToInt32::foldsTo(bool useValueNumbers)
MDefinition *
MToDouble::foldsTo(bool useValueNumbers)
{
if (input()->isConstant()) {
const Value &v = input()->toConstant()->value();
MDefinition *in = input();
if (in->type() == MIRType_Double)
return in;
if (in->isConstant()) {
const Value &v = in->toConstant()->value();
if (v.isNumber()) {
double out = v.toNumber();
return MConstant::New(DoubleValue(out));