aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-08-06 14:55:21 +0200
committerLars Knoll <lars.knoll@qt.io>2018-08-10 14:16:09 +0000
commit18d2f78437d28987297148b63b99ceed6313a78a (patch)
tree845e016b002a123e394df43fcf88cf2dc7ee1fb6 /src/3rdparty/masm/assembler/MacroAssemblerARMv7.h
parent577630fe4a1f6a129239788080ff9e802118fd26 (diff)
Update Yarr to the latest version from WebKit
Updated Yarr to a to commit 4d2a53d60487cb1f8b2a9a1e9f684af336fd7d2c in WebKit. Adjusted the yarr code base to work with our older version of wtf and masm. Change-Id: I04b4593ece051e1d7aa087b87aa08c92595d1098 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/3rdparty/masm/assembler/MacroAssemblerARMv7.h')
-rw-r--r--src/3rdparty/masm/assembler/MacroAssemblerARMv7.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h b/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h
index d91122d4a1..99801a0e3b 100644
--- a/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h
+++ b/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h
@@ -255,6 +255,14 @@ public:
store32(dataTempRegister, address.m_ptr);
}
+ void getEffectiveAddress(BaseIndex address, RegisterID dest)
+ {
+ m_assembler.lsl(addressTempRegister, address.index, static_cast<int>(address.scale));
+ m_assembler.add(dest, address.base, addressTempRegister);
+ if (address.offset)
+ add32(TrustedImm32(address.offset), dest);
+ }
+
void add64(TrustedImm32 imm, AbsoluteAddress address)
{
move(TrustedImmPtr(address.m_ptr), addressTempRegister);
@@ -680,6 +688,11 @@ public:
load32(setupArmAddress(address), dest);
}
+ void load16Unaligned(ImplicitAddress address, RegisterID dest)
+ {
+ load16(setupArmAddress(address), dest);
+ }
+
void load16Unaligned(BaseIndex address, RegisterID dest)
{
load16(setupArmAddress(address), dest);