diff --git a/js/src/jit/MacroAssembler.h b/js/src/jit/MacroAssembler.h index af7de1c16a..bf04575821 100644 --- a/js/src/jit/MacroAssembler.h +++ b/js/src/jit/MacroAssembler.h @@ -1656,10 +1656,12 @@ class MacroAssembler : public MacroAssemblerSpecific Register temp, Label* failure); Register extractString(const Address& address, Register scratch) { - return extractObject(address, scratch); + unboxString(address, scratch); + return scratch; } Register extractString(const ValueOperand& value, Register scratch) { - return extractObject(value, scratch); + unboxString(value, scratch); + return scratch; } using MacroAssemblerSpecific::extractTag; diff --git a/js/src/jit/loongarch64/MacroAssembler-loongarch64.cpp b/js/src/jit/loongarch64/MacroAssembler-loongarch64.cpp index b9c67dd958..d39eda722a 100644 --- a/js/src/jit/loongarch64/MacroAssembler-loongarch64.cpp +++ b/js/src/jit/loongarch64/MacroAssembler-loongarch64.cpp @@ -2764,6 +2764,10 @@ template void MacroAssembler::storeUnboxedValue(const ConstantOrRegister& value, MIRType valueType, const Address& dest, MIRType slotType); +template void MacroAssembler::storeUnboxedValue(const ConstantOrRegister& value, + MIRType valueType, + const BaseIndex& dest, + MIRType slotType); template void MacroAssembler::storeUnboxedValue( const ConstantOrRegister& value, MIRType valueType, const BaseObjectElementIndex& dest, MIRType slotType);