static Object newArrayArray (int numDimensions, int id, int argOffset)
static Object newArrayArray (int methodId, int numDimensions, int typeId, int argOffset)
  static Object newArrayArray (int numDimensions, int id, int argOffset)    throws ClassNotFoundException,	   NegativeArraySizeException, 	   OutOfMemoryError {    // fetch number of elements to be allocated for each array dimension    //    int[] numElements = new int[numDimensions];    VM.disableGC();    VM_Address argp = VM_Magic.getFramePointer().add(argOffset);    for (int i = 0; i < numDimensions; ++i) {	argp = argp.sub(4);	numElements[i] = VM_Magic.getMemoryInt(argp);    }    VM.enableGC();        // validate arguments    //    for (int i = 0; i < numDimensions; ++i)      if (numElements[i] < 0) throw new NegativeArraySizeException();        // create array    //    VM_TypeReference tRef = VM_TypeReference.getTypeRef(id);    VM_Array array = tRef.resolve().asArray();    return VM_Runtime.buildMultiDimensionalArray(numElements, 0, array);  }