t.contextRegisters.setInnermost(VM_Address.zero(), t.jniEnv.JNITopJavaFP);
t.contextRegisters.setInnermost(VM_Address.zero(), t.jniEnv.topJavaFP());
  public static void prepareNonParticipating (Plan p) {    VM_Processor vp = (VM_Processor) p;    int vpStatus = VM_Processor.vpStatus[vp.vpStatusIndex];    if (VM.VerifyAssertions)      VM._assert((vpStatus == VM_Processor.BLOCKED_IN_NATIVE) || (vpStatus == VM_Processor.BLOCKED_IN_SIGWAIT));    if (vpStatus == VM_Processor.BLOCKED_IN_NATIVE) {       // processor & its running thread are blocked in C for this GC.        // Its stack needs to be scanned, starting from the "top" java frame, which has      // been saved in the running threads JNIEnv.  Put the saved frame pointer      // into the threads saved context regs, which is where the stack scan starts.      //      VM_Thread t = vp.activeThread;      t.contextRegisters.setInnermost(VM_Address.zero(), t.jniEnv.JNITopJavaFP);    }  }