Bug 1628836: Add missing JSOp::Pow case for string-int32 arithmetic in CacheIR. r=jandem

Differential Revision: https://phabricator.services.mozilla.com/D70807

--HG--
extra : moz-landing-system : lando
This commit is contained in:
André Bargull 2020-04-15 10:05:09 +00:00
Родитель 258bf85876
Коммит 2de8122c49
2 изменённых файлов: 7 добавлений и 0 удалений

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

@ -13,6 +13,9 @@ function test(zero, one) {
assertEq(one / 1, 1); assertEq(one / 1, 1);
assertEq(10 % one, 0); assertEq(10 % one, 0);
assertEq(one % 1, 0); assertEq(one % 1, 0);
assertEq(10 ** one, 10);
assertEq(one ** 4, 1);
} }
for (var i = 0; i < 10; i++) { for (var i = 0; i < 10; i++) {

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

@ -7036,6 +7036,10 @@ AttachDecision BinaryArithIRGenerator::tryAttachStringInt32Arith() {
writer.int32ModResult(lhsIntId, rhsIntId); writer.int32ModResult(lhsIntId, rhsIntId);
trackAttached("BinaryArith.StringInt32.Mod"); trackAttached("BinaryArith.StringInt32.Mod");
break; break;
case JSOp::Pow:
writer.int32PowResult(lhsIntId, rhsIntId);
trackAttached("BinaryArith.StringInt32.Pow");
break;
default: default:
MOZ_CRASH("Unhandled op in tryAttachStringInt32Arith"); MOZ_CRASH("Unhandled op in tryAttachStringInt32Arith");
} }