diff options
author | commit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc> | 2013-11-12 23:09:39 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-20 15:02:19 +0100 |
commit | d7af109d619e3a6d88631598aaab7275a084da7f (patch) | |
tree | 3adcc3f21a08bcd1572006c84c1f38ece75c6aff /Source/JavaScriptCore/assembler/MacroAssemblerSH4.h | |
parent | 966168b00e96a42391090037bd1fc1af13634dea (diff) | |
download | qtwebkit-d7af109d619e3a6d88631598aaab7275a084da7f.tar.gz |
[sh4] Fix load32WithUnalignedHalfWords function in baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=124233
Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-12
Reviewed by Michael Saboff.
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::load32WithUnalignedHalfWords): Do not claim scratch register too early.
Test already covered by fast/regex/pcre-test-1.
Change-Id: Ib783d70723754e80d961ade9463d7dc85ccb83f0
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/assembler/MacroAssemblerSH4.h')
-rw-r--r-- | Source/JavaScriptCore/assembler/MacroAssemblerSH4.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h b/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h index c2293ed14..b8358bc2f 100644 --- a/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h +++ b/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h @@ -1312,15 +1312,15 @@ public: void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) { RegisterID scr = claimScratch(); - RegisterID scr1 = claimScratch(); Jump m_jump; JumpList end; + loadEffectiveAddress(address, scr); + + RegisterID scr1 = claimScratch(); if (dest != SH4Registers::r0) move(SH4Registers::r0, scr1); - loadEffectiveAddress(address, scr); - m_assembler.ensureSpace(m_assembler.maxInstructionSize + 58, sizeof(uint32_t)); move(scr, SH4Registers::r0); m_assembler.testlImm8r(0x3, SH4Registers::r0); |