int word1 = VM_Magic.getMemoryWord(va_list_addr);
int word1 = VM_Magic.getMemoryInt(va_list_addr);
  static Object[] packageParameterFromVarArgSVR4(VM_Method targetMethod, VM_Address argAddress) {//  VM_Magic.breakpoint();    VM_TypeReference[] argTypes = targetMethod.getParameterTypes();    int argCount = argTypes.length;    Object[] argObjectArray = new Object[argCount];        VM_JNIEnvironment env = VM_Thread.getCurrentThread().getJNIEnv();        // the va_list has following layout on PPC/Linux    // GPR FPR 0 0   (4 bytes)    // overflowarea  (pointer)    // reg_save_area (pointer)    VM_Address va_list_addr = argAddress;    int word1 = VM_Magic.getMemoryWord(va_list_addr);    int gpr = word1 >> 24;    int fpr = (word1 >> 16) & 0x0FF;    va_list_addr = va_list_addr.add(4);    VM_Address overflowarea = VM_Magic.getMemoryAddress(va_list_addr);    va_list_addr = va_list_addr.add(4);    VM_Address regsavearea = VM_Magic.getMemoryAddress(va_list_addr);        // overflowarea is aligned to 8 bytes    if (VM.VerifyAssertions) VM._assert((overflowarea.toInt() & 0x07) == 0);        // adjust gpr and fpr to normal numbering, make life easier    gpr += 3;    fpr += 1;        // not set the starting gprs array address     // and fpr starting array address, so we can use gpr and fpr to     // calculate the right position to get values    // GPR starts with r3;    VM_Address gprarray = regsavearea.add(-3*4);     VM_Address fprarray = regsavearea.add(8*4-2*4);        // call the common function for SVR4    packageArgumentForSVR4(argTypes, argObjectArray, gprarray, fprarray, overflowarea, gpr, fpr, env);     return argObjectArray;  }