diff options
author | Yann Bodson <yann.bodson@nokia.com> | 2009-11-04 05:34:26 (GMT) |
---|---|---|
committer | Yann Bodson <yann.bodson@nokia.com> | 2009-11-04 05:34:26 (GMT) |
commit | 0ced984d3e2cb2a7a1a219ae7a9b09ff4e15a55c (patch) | |
tree | e0112b3ddefa71824e45d55f44517904e3c9680c /src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h | |
parent | a59291393cc70a1f922e4796efbb72b29920da27 (diff) | |
parent | ec502c9e9a26f984023e4f08126e033a504970b2 (diff) | |
download | Qt-0ced984d3e2cb2a7a1a219ae7a9b09ff4e15a55c.zip Qt-0ced984d3e2cb2a7a1a219ae7a9b09ff4e15a55c.tar.gz Qt-0ced984d3e2cb2a7a1a219ae7a9b09ff4e15a55c.tar.bz2 |
Merge branch 'kinetic-declarativeui' of scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h index aa8cbb0..7a72b06 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h @@ -65,6 +65,7 @@ public: }; static const RegisterID stackPointerRegister = ARMRegisters::sp; + static const RegisterID linkRegister = ARMRegisters::lr; static const Scale ScalePtr = TimesFour; @@ -530,7 +531,7 @@ public: void ret() { - pop(ARMRegisters::pc); + m_assembler.mov_r(ARMRegisters::pc, linkRegister); } void set32(Condition cond, RegisterID left, RegisterID right, RegisterID dest) @@ -746,11 +747,9 @@ protected: void prepareCall() { - ensureSpace(3 * sizeof(ARMWord), sizeof(ARMWord)); + ensureSpace(2 * sizeof(ARMWord), sizeof(ARMWord)); - // S0 might be used for parameter passing - m_assembler.add_r(ARMRegisters::S1, ARMRegisters::pc, ARMAssembler::OP2_IMM | 0x4); - m_assembler.push_r(ARMRegisters::S1); + m_assembler.mov_r(linkRegister, ARMRegisters::pc); } void call32(RegisterID base, int32_t offset) |