summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorJiaxun Yang <jiaxun.yang@flygoat.com>2020-05-12 12:40:10 +0800
committerMoonchild <moonchild@palemoon.org>2020-05-20 14:02:00 +0000
commitff8603d7a2e51d2fd497493dfad7d4c8c7ee8d74 (patch)
tree37f1e3eec539123b324c21adceb5bf850880d26b /js
parent31ad2d12db7ebd94f79ed4c81f066f64721504f4 (diff)
downloadUXP-ff8603d7a2e51d2fd497493dfad7d4c8c7ee8d74.tar
UXP-ff8603d7a2e51d2fd497493dfad7d4c8c7ee8d74.tar.gz
UXP-ff8603d7a2e51d2fd497493dfad7d4c8c7ee8d74.tar.lz
UXP-ff8603d7a2e51d2fd497493dfad7d4c8c7ee8d74.tar.xz
UXP-ff8603d7a2e51d2fd497493dfad7d4c8c7ee8d74.zip
Bug 1390459 - mulby3 function implement error on mips platform
Tag: #1542
Diffstat (limited to 'js')
-rw-r--r--js/src/jit/mips32/MacroAssembler-mips32-inl.h5
-rw-r--r--js/src/jit/mips64/MacroAssembler-mips64-inl.h5
2 files changed, 6 insertions, 4 deletions
diff --git a/js/src/jit/mips32/MacroAssembler-mips32-inl.h b/js/src/jit/mips32/MacroAssembler-mips32-inl.h
index 4331e050e..a86cead29 100644
--- a/js/src/jit/mips32/MacroAssembler-mips32-inl.h
+++ b/js/src/jit/mips32/MacroAssembler-mips32-inl.h
@@ -302,8 +302,9 @@ MacroAssembler::neg64(Register64 reg)
void
MacroAssembler::mulBy3(Register src, Register dest)
{
- as_addu(dest, src, src);
- as_addu(dest, dest, src);
+ MOZ_ASSERT(src != ScratchRegister);
+ as_addu(ScratchRegister, src, src);
+ as_addu(dest, ScratchRegister, src);
}
void
diff --git a/js/src/jit/mips64/MacroAssembler-mips64-inl.h b/js/src/jit/mips64/MacroAssembler-mips64-inl.h
index a07619b94..7d42c249c 100644
--- a/js/src/jit/mips64/MacroAssembler-mips64-inl.h
+++ b/js/src/jit/mips64/MacroAssembler-mips64-inl.h
@@ -279,8 +279,9 @@ MacroAssembler::mul64(const Operand& src, const Register64& dest, const Register
void
MacroAssembler::mulBy3(Register src, Register dest)
{
- as_daddu(dest, src, src);
- as_daddu(dest, dest, src);
+ MOZ_ASSERT(src != ScratchRegister);
+ as_daddu(ScratchRegister, src, src);
+ as_daddu(dest, ScratchRegister, src);
}
void