diff options
author | Zoltan Herczeg <zherczeg@webkit.org> | 2013-03-21 14:51:21 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-25 11:56:18 +0100 |
commit | b420ac14cdd37fcef0b33bdbca2c10240f0f3272 (patch) | |
tree | c26c066eaf1fd601a1490b34f776f36bd14b8857 /Source/JavaScriptCore/assembler/ARMAssembler.cpp | |
parent | e8a56c51780cd3e3a0043c4f6a8849d4c2d87dd6 (diff) | |
download | qtwebkit-b420ac14cdd37fcef0b33bdbca2c10240f0f3272.tar.gz |
ARMv7 replaceWithJump ASSERT failure after r135330.
https://bugs.webkit.org/show_bug.cgi?id=103146
Reviewed by Filip Pizlo.
On Linux, the 24 bit distance range of jumps sometimes does not
enough to cover all targets addresses. This patch supports jumps
outside of this range using a mov/movt/bx 10 byte long sequence.
* assembler/ARMv7Assembler.h:
(ARMv7Assembler):
(JSC::ARMv7Assembler::revertJumpTo_movT3movtcmpT2):
(JSC::ARMv7Assembler::nopw):
(JSC::ARMv7Assembler::label):
(JSC::ARMv7Assembler::replaceWithJump):
(JSC::ARMv7Assembler::maxJumpReplacementSize):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::revertJumpReplacementToBranchPtrWithPatch):
Change-Id: Ic90230b5f5d74023b5476897966a01ce7152071a
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/assembler/ARMAssembler.cpp')
0 files changed, 0 insertions, 0 deletions