From 545e470e52f0ac6a3a072bf559c796b42c6066b6 Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Tue, 15 Jun 2010 19:36:43 +0100 Subject: Merge webkit.org at r61121: Initial merge by git. Change-Id: Icd6db395c62285be384d137164d95d7466c98760 --- JavaScriptCore/assembler/MacroAssemblerARMv7.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'JavaScriptCore/assembler') diff --git a/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/JavaScriptCore/assembler/MacroAssemblerARMv7.h index 31a68d9..380d5f8 100644 --- a/JavaScriptCore/assembler/MacroAssemblerARMv7.h +++ b/JavaScriptCore/assembler/MacroAssemblerARMv7.h @@ -459,7 +459,13 @@ public: void load16(ImplicitAddress address, RegisterID dest) { - m_assembler.ldrh(dest, address.base, address.offset); + ARMThumbImmediate armImm = ARMThumbImmediate::makeUInt12(address.offset); + if (armImm.isValid()) + m_assembler.ldrh(dest, address.base, armImm); + else { + move(Imm32(address.offset), dataTempRegister); + m_assembler.ldrh(dest, address.base, dataTempRegister); + } } DataLabel32 store32WithAddressOffsetPatch(RegisterID src, Address address) -- cgit v1.1