summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2009-11-09 16:14:20 (GMT)
committerThiago Macieira <thiago.macieira@nokia.com>2009-11-09 16:14:20 (GMT)
commita8e0e5656f09130e68c10209429a0870b38248c4 (patch)
tree9f2c51be485c3f1e4afea821ebbe838a08c0ce2d /src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
parent8fbdbd25015a4e5544dace3a77427861f0ca89f4 (diff)
parentb770abdd564f28a8d9dde816f72f73e6b15984af (diff)
downloadQt-a8e0e5656f09130e68c10209429a0870b38248c4.zip
Qt-a8e0e5656f09130e68c10209429a0870b38248c4.tar.gz
Qt-a8e0e5656f09130e68c10209429a0870b38248c4.tar.bz2
Merge branch '4.6' into core-4.6
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)