Consolidate curFrame fields in thread storage

We ended up with two locations in the Thread structure for saved
Dalvik frame pointer.  This change consolidates them.

Change-Id: I78f288e4e57e232f29663be930101e775bfe370f
diff --git a/vm/mterp/out/InterpC-x86.cpp b/vm/mterp/out/InterpC-x86.cpp
index ce4435b..1f8d9f2 100644
--- a/vm/mterp/out/InterpC-x86.cpp
+++ b/vm/mterp/out/InterpC-x86.cpp
@@ -406,7 +406,7 @@
  */
 #define retval                  self->retval
 #define pc                      self->interpSave.pc
-#define fp                      self->interpSave.fp
+#define fp                      self->interpSave.curFrame
 #define curMethod               self->interpSave.method
 #define methodClassDex          self->interpSave.methodClassDex
 #define debugTrackedRefStart    self->interpSave.debugTrackedRefStart
@@ -426,6 +426,7 @@
  * the interpSave vars directly, so this is a nop for stubs.
  */
 #define PC_FP_TO_SELF()
+#define PC_TO_SELF()
 
 /*
  * Opcode handler framing macros.  Here, each opcode is a separate function
@@ -2084,7 +2085,7 @@
         }
 
         /* update thread FP, and reset local variables */
-        self->curFrame = fp;
+        self->interpSave.curFrame = fp;
         curMethod = SAVEAREA_FROM_FP(fp)->method;
         self->interpSave.method = curMethod;
         //methodClass = curMethod->clazz;
@@ -2221,10 +2222,10 @@
 #endif
 
         /*
-         * Adjust local variables to match self->curFrame and the
+         * Adjust local variables to match self->interpSave.curFrame and the
          * updated PC.
          */
-        //fp = (u4*) self->curFrame;
+        //fp = (u4*) self->interpSave.curFrame;
         curMethod = SAVEAREA_FROM_FP(fp)->method;
         self->interpSave.method = curMethod;
         //methodClass = curMethod->clazz;
@@ -2403,7 +2404,7 @@
              * calls.  For native calls, we'll mark EXIT on return.
              * For non-native calls, EXIT is marked in the RETURN op.
              */
-            PC_FP_TO_SELF();
+            PC_TO_SELF();
             dvmReportInvoke(self, methodToCall);
         }
 
@@ -2416,7 +2417,7 @@
             self->interpSave.method = curMethod;
             methodClassDex = curMethod->clazz->pDvmDex;
             pc = methodToCall->insns;
-            self->curFrame = fp = newFp;
+            self->interpSave.curFrame = fp = newFp;
 #ifdef EASY_GDB
             debugSaveArea = SAVEAREA_FROM_FP(newFp);
 #endif
@@ -2429,13 +2430,12 @@
             /* set this up for JNI locals, even if not a JNI native */
             newSaveArea->xtra.localRefCookie = self->jniLocalRefTable.segmentState.all;
 
-            self->curFrame = newFp;
+            self->interpSave.curFrame = newFp;
 
             DUMP_REGS(methodToCall, newFp, true);   // show input args
 
             if (self->interpBreak.ctl.subMode != 0) {
-                PC_FP_TO_SELF();
-                dvmReportPreNativeInvoke(methodToCall, self);
+                dvmReportPreNativeInvoke(methodToCall, self, fp);
             }
 
             ILOGD("> native <-- %s.%s %s", methodToCall->clazz->descriptor,
@@ -2449,13 +2449,12 @@
             (*methodToCall->nativeFunc)(newFp, &retval, methodToCall, self);
 
             if (self->interpBreak.ctl.subMode != 0) {
-                PC_FP_TO_SELF();
-                dvmReportPostNativeInvoke(methodToCall, self);
+                dvmReportPostNativeInvoke(methodToCall, self, fp);
             }
 
             /* pop frame off */
             dvmPopJniLocals(self, newSaveArea);
-            self->curFrame = fp;
+            self->interpSave.curFrame = fp;
 
             /*
              * If the native code threw an exception, or interpreted code