Bug 1241886: Fix debug assertion if we're in dead code; r=luke

--HG--
extra : rebase_source : 49ebddae2542977219dcc8a9f91f80161ba14cef
This commit is contained in:
Benjamin Bouvier 2016-01-22 15:46:47 +01:00
Родитель 6369bae28e
Коммит 2a2dcf9916
2 изменённых файлов: 2 добавлений и 1 удалений

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

@ -2093,7 +2093,7 @@ EmitTernary(FunctionCompiler& f, MaybeType type, MDefinition** def)
if (!f.joinIfElse(thenBlocks))
return false;
MOZ_ASSERT(ifTrue->type() == ifFalse->type(), "both sides of a ternary have the same type");
MOZ_ASSERT_IF(ifTrue && ifFalse, ifTrue->type() == ifFalse->type());
*def = f.popPhiOutput();
return true;

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

@ -259,6 +259,7 @@ assertEq(asmLink(asmCompile(USE_ASM + "function f() { return (4 % 2)|0 } return
assertEq(asmLink(asmCompile(USE_ASM + "function f() { return (3 % 2)|0 } return f"))(), 1);
assertAsmTypeFail(USE_ASM + "function f() { var i=42,j=1.1; return +(i?i:j) } return f");
assertEq(asmLink(asmCompile(USE_ASM + "function f() { return 0; 1 ? 1 : 1; return 0; } return f"))(), 0);
assertEq(asmLink(asmCompile(USE_ASM + "function f() { var i=42,j=1.1; return +(i?+(i|0):j) } return f"))(), 42);
assertEq(asmLink(asmCompile(USE_ASM + "function f() { var i=42,j=1; return (i?i:j)|0 } return f"))(), 42);