зеркало из https://github.com/mozilla/gecko-dev.git
Bug 944398: Inline Math.fround even if its returned value hasn't ever been observed; r=bhackett
This commit is contained in:
Родитель
576b035153
Коммит
32fb3bf612
|
@ -894,9 +894,17 @@ IonBuilder::inlineMathFRound(CallInfo &callInfo)
|
|||
|
||||
// MIRType can't be Float32, as this point, as getInlineReturnType uses JSVal types
|
||||
// to infer the returned MIR type.
|
||||
MIRType returnType = getInlineReturnType();
|
||||
if (!IsNumberType(returnType))
|
||||
return InliningStatus_NotInlined;
|
||||
types::TemporaryTypeSet *returned = getInlineReturnTypeSet();
|
||||
if (returned->empty()) {
|
||||
// As there's only one possible returned type, just add it to the observed
|
||||
// returned typeset
|
||||
if (!returned->addType(types::Type::DoubleType(), alloc_->lifoAlloc()))
|
||||
return InliningStatus_Error;
|
||||
} else {
|
||||
MIRType returnType = getInlineReturnType();
|
||||
if (!IsNumberType(returnType))
|
||||
return InliningStatus_NotInlined;
|
||||
}
|
||||
|
||||
MIRType arg = callInfo.getArg(0)->type();
|
||||
if (!IsNumberType(arg))
|
||||
|
|
Загрузка…
Ссылка в новой задаче