use pre-UAL mnemonics for push/pop for compilaton callback function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57911 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Grosbach 2008-10-21 16:54:12 +00:00
parent cef7527a85
commit a9ab95b38b

View File

@ -56,7 +56,7 @@ extern "C" {
// for the real target function right now. We have to act as if this // for the real target function right now. We have to act as if this
// whole compilation callback doesn't exist as far as the caller is // whole compilation callback doesn't exist as far as the caller is
// concerned, so we can't just preserve the callee saved regs. // concerned, so we can't just preserve the callee saved regs.
"push {r0, r1, r2, r3, lr}\n" "stmdb sp!, {r0, r1, r2, r3, lr}\n"
// The LR contains the address of the stub function on entry. // The LR contains the address of the stub function on entry.
// pass it as the argument to the C part of the callback // pass it as the argument to the C part of the callback
"mov r0, lr\n" "mov r0, lr\n"
@ -87,7 +87,7 @@ extern "C" {
// The above twiddling of the saved return addresses allows us to // The above twiddling of the saved return addresses allows us to
// deallocate everything, including the LR the stub saved, all in one // deallocate everything, including the LR the stub saved, all in one
// pop instruction. // pop instruction.
"pop {r0, r1, r2, r3, lr, pc}\n" "ldmia sp!, {r0, r1, r2, r3, lr, pc}\n"
); );
#else // Not an ARM host #else // Not an ARM host
void ARMCompilationCallback() { void ARMCompilationCallback() {