| Index: third_party/WebKit/JavaScriptCore/assembler/MacroAssemblerX86_64.h
|
| ===================================================================
|
| --- third_party/WebKit/JavaScriptCore/assembler/MacroAssemblerX86_64.h (revision 11154)
|
| +++ third_party/WebKit/JavaScriptCore/assembler/MacroAssemblerX86_64.h (working copy)
|
| @@ -244,8 +244,13 @@
|
|
|
| void storePtr(ImmPtr imm, ImplicitAddress address)
|
| {
|
| - move(imm, scratchRegister);
|
| - storePtr(scratchRegister, address);
|
| + intptr_t ptr = imm.asIntptr();
|
| + if (CAN_SIGN_EXTEND_32_64(ptr))
|
| + m_assembler.movq_i32m(static_cast<int>(ptr), address.offset, address.base);
|
| + else {
|
| + move(imm, scratchRegister);
|
| + storePtr(scratchRegister, address);
|
| + }
|
| }
|
|
|
| DataLabel32 storePtrWithAddressOffsetPatch(RegisterID src, Address address)
|
|
|