if (VM.BuildForSVR4ABI || VM.BuildForMachOABI) {
if (VM.BuildForSVR4ABI) {
  public static VM_Address unwindNativeStackFrame(VM_Address currfp) throws VM_PragmaUninterruptible {    VM_Address ip, callee_fp;    VM_Address fp = VM_Magic.getCallerFramePointer(currfp);    do {      callee_fp = fp;      ip = VM_Magic.getReturnAddress(fp);      fp = VM_Magic.getCallerFramePointer(fp);    } while (!MM_Interface.refInVM(ip) && fp.NE(STACKFRAME_SENTINEL_FP));    if (VM.BuildForPowerPC) {      if (VM.BuildForSVR4ABI || VM.BuildForMachOABI) {        // for SVR4 convention, a Java-to-C frame has two mini frames,        // stop before the mini frame 1 whose ip is in VM (out of line machine        // code), in the case of sentinel fp, it has to return the callee's fp        // because GC ScanThread uses it to get return address and so on.        if (MM_Interface.refInVM(ip)) {          return fp;        } else {          return callee_fp;        }      // AIX and 64-bit Linux PPC use PowerOpen ABI      } else {        return callee_fp;      }    } else {      return callee_fp;    }  }