diff options
author | Jiaxun Yang <jiaxun.yang@flygoat.com> | 2020-05-12 12:40:10 +0800 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-05-20 14:02:00 +0000 |
commit | ff8603d7a2e51d2fd497493dfad7d4c8c7ee8d74 (patch) | |
tree | 37f1e3eec539123b324c21adceb5bf850880d26b /js/src/jit | |
parent | 31ad2d12db7ebd94f79ed4c81f066f64721504f4 (diff) | |
download | UXP-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/src/jit')
-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 |