From 8b3f3281131c84d20aa9421631ee26a6010b2409 Mon Sep 17 00:00:00 2001 From: Jon Coppeard Date: Fri, 6 Sep 2013 10:20:46 +0100 Subject: [PATCH] Bug 911368 - Fix assertion since LSoftUDivOrMod can be generated for MMod r=mjrosenb --- js/src/jit-test/tests/basic/bug911368.js | 10 ++++++++++ js/src/jit/arm/CodeGenerator-arm.cpp | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 js/src/jit-test/tests/basic/bug911368.js diff --git a/js/src/jit-test/tests/basic/bug911368.js b/js/src/jit-test/tests/basic/bug911368.js new file mode 100644 index 000000000000..3006155f251b --- /dev/null +++ b/js/src/jit-test/tests/basic/bug911368.js @@ -0,0 +1,10 @@ +// |jit-test| +(function (stdlib, heap) { + "use asm"; + function f(i0) { + i0 = i0 | 0; + switch (0xc << (0xa % 1)) { + case -2: + }; + } +})() diff --git a/js/src/jit/arm/CodeGenerator-arm.cpp b/js/src/jit/arm/CodeGenerator-arm.cpp index 5b00c75473ee..a6b92f64718b 100644 --- a/js/src/jit/arm/CodeGenerator-arm.cpp +++ b/js/src/jit/arm/CodeGenerator-arm.cpp @@ -1909,9 +1909,9 @@ CodeGeneratorARM::visitSoftUDivOrMod(LSoftUDivOrMod *ins) JS_ASSERT(lhs == r0); JS_ASSERT(rhs == r1); JS_ASSERT(ins->mirRaw()->isDiv() || ins->mirRaw()->isAsmJSUDiv() || - ins->mirRaw()->isAsmJSUMod()); + ins->mirRaw()->isMod() || ins->mirRaw()->isAsmJSUMod()); JS_ASSERT_IF(ins->mirRaw()->isDiv() || ins->mirRaw()->isAsmJSUDiv(), output == r0); - JS_ASSERT_IF(ins->mirRaw()->isAsmJSUMod(), output == r1); + JS_ASSERT_IF(ins->mirRaw()->isMod() || ins->mirRaw()->isAsmJSUMod(), output == r1); Label afterDiv;