diff options
author | Jiaxun Yang <jiaxun.yang@flygoat.com> | 2020-05-12 12:40:12 +0800 |
---|---|---|
committer | Jiaxun Yang <jiaxun.yang@flygoat.com> | 2020-05-14 16:31:58 +0800 |
commit | ee6cfa1db6a1047bf3ccc357e940571ee2dd80fd (patch) | |
tree | 326a6df6b6703ba010b0d562858266678a6857f3 /js/src/jit | |
parent | f6a2c1cf79d41cae9c01ab1a8563cfd4e20c147a (diff) | |
download | uxp-ee6cfa1db6a1047bf3ccc357e940571ee2dd80fd.tar.gz |
Bug 1424978 - IonMonkey: MIPS64: Fix boxValue function
Tag: #1542
Diffstat (limited to 'js/src/jit')
-rw-r--r-- | js/src/jit/mips64/MacroAssembler-mips64.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/js/src/jit/mips64/MacroAssembler-mips64.h b/js/src/jit/mips64/MacroAssembler-mips64.h index 027ef4063e..4991c264fd 100644 --- a/js/src/jit/mips64/MacroAssembler-mips64.h +++ b/js/src/jit/mips64/MacroAssembler-mips64.h @@ -470,7 +470,12 @@ class MacroAssemblerMIPS64Compat : public MacroAssemblerMIPS64 JSValueTag tag = (JSValueTag)JSVAL_TYPE_TO_TAG(type); ma_li(dest, Imm32(tag)); ma_dsll(dest, dest, Imm32(JSVAL_TAG_SHIFT)); - ma_dins(dest, src, Imm32(0), Imm32(JSVAL_TAG_SHIFT)); + + if (type == JSVAL_TYPE_INT32 || type == JSVAL_TYPE_BOOLEAN) { + ma_dins(dest, src, Imm32(0), Imm32(32)); + } else { + ma_dins(dest, src, Imm32(0), Imm32(JSVAL_TAG_SHIFT)); + } } void storeValue(ValueOperand val, Operand dst); |