Use an explicit fp in dvmPlatformInvoke

When calling a JNI method we have to push a variable number of
arguments onto the stack.  This confuses the stack unwinders in
gdb and debuggerd.

It turns out that the unroll tables consulted by debuggerd let
you specify a frame pointer register.  If we set that up, we can
get a full debuggerd trace.  gdb is still confused though.

We now need to preserve fp on entry, but we no longer need to save
off sp, and as a result of some additional register shuffling we
also no longer need to save r4 and r5.

Bug 3466808

Change-Id: I5fda1deae330e698553657dc233bd06476b25ce2
1 file changed