summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
diff options
context:
space:
mode:
authorFrans Englich <frans.englich@nokia.com>2009-11-04 14:48:40 (GMT)
committerFrans Englich <frans.englich@nokia.com>2009-11-04 14:48:40 (GMT)
commitb4ef8b906c88e5d60e687d9018af93de0e735e0c (patch)
treefe4167319039047ba3ac0c97651dddc0a526349b /src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
parentf4f6012d181cf60fd04fc5bf69b21786977f0de0 (diff)
parent9cda9fb4bb496a7c589767bdcead131dbcdeeb79 (diff)
downloadQt-b4ef8b906c88e5d60e687d9018af93de0e735e0c.zip
Qt-b4ef8b906c88e5d60e687d9018af93de0e735e0c.tar.gz
Qt-b4ef8b906c88e5d60e687d9018af93de0e735e0c.tar.bz2
Merge commit 's60/4.6' into mmfphonon
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h9
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)