diff options
author | Jiaxun Yang <jiaxun.yang@flygoat.com> | 2020-05-12 12:40:10 +0800 |
---|---|---|
committer | Jiaxun Yang <jiaxun.yang@flygoat.com> | 2020-05-14 16:31:57 +0800 |
commit | ebc0e55033a4b1fef889d33526ddd485230f2b7d (patch) | |
tree | d8c3dec32b4e9b87e45b2fa34ee62e17d1dacc16 /js | |
parent | b878a54a2f977bbc6761737284cc730a94643ae9 (diff) | |
download | UXP-ebc0e55033a4b1fef889d33526ddd485230f2b7d.tar UXP-ebc0e55033a4b1fef889d33526ddd485230f2b7d.tar.gz UXP-ebc0e55033a4b1fef889d33526ddd485230f2b7d.tar.lz UXP-ebc0e55033a4b1fef889d33526ddd485230f2b7d.tar.xz UXP-ebc0e55033a4b1fef889d33526ddd485230f2b7d.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.h | 5 | ||||
-rw-r--r-- | js/src/jit/mips64/MacroAssembler-mips64-inl.h | 5 |
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 |