mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 898381. r=mjrosenb
This commit is contained in:
parent
70990dd2d4
commit
fa20cc7bc5
@ -2703,13 +2703,18 @@ MacroAssemblerARMCompat::extractTag(const BaseIndex &address, Register scratch)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MacroAssemblerARMCompat::moveValue(const Value &val, Register type, Register data) {
|
MacroAssemblerARMCompat::moveValue(const Value &val, Register type, Register data)
|
||||||
|
{
|
||||||
jsval_layout jv = JSVAL_TO_IMPL(val);
|
jsval_layout jv = JSVAL_TO_IMPL(val);
|
||||||
ma_mov(Imm32(jv.s.tag), type);
|
ma_mov(Imm32(jv.s.tag), type);
|
||||||
ma_mov(Imm32(jv.s.payload.i32), data);
|
if (val.isMarkable())
|
||||||
|
ma_mov(ImmGCPtr(reinterpret_cast<gc::Cell *>(val.toGCThing())), data);
|
||||||
|
else
|
||||||
|
ma_mov(Imm32(jv.s.payload.i32), data);
|
||||||
}
|
}
|
||||||
void
|
void
|
||||||
MacroAssemblerARMCompat::moveValue(const Value &val, const ValueOperand &dest) {
|
MacroAssemblerARMCompat::moveValue(const Value &val, const ValueOperand &dest)
|
||||||
|
{
|
||||||
moveValue(val, dest.typeReg(), dest.payloadReg());
|
moveValue(val, dest.typeReg(), dest.payloadReg());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2717,7 +2722,8 @@ MacroAssemblerARMCompat::moveValue(const Value &val, const ValueOperand &dest) {
|
|||||||
// X86/X64-common (ARM too now) interface.
|
// X86/X64-common (ARM too now) interface.
|
||||||
/////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////
|
||||||
void
|
void
|
||||||
MacroAssemblerARMCompat::storeValue(ValueOperand val, Operand dst) {
|
MacroAssemblerARMCompat::storeValue(ValueOperand val, Operand dst)
|
||||||
|
{
|
||||||
ma_str(val.payloadReg(), ToPayload(dst));
|
ma_str(val.payloadReg(), ToPayload(dst));
|
||||||
ma_str(val.typeReg(), ToType(dst));
|
ma_str(val.typeReg(), ToType(dst));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user