if (numElements < 0) raiseNegativeArraySizeException();   if (VM.ForceFrequentGC && VM_Scheduler.allProcessorsInitialized) { if (countDownToGC-- <= 0) { VM.sysWrite("FORCING GC: Countdown trigger in quickNewArray\n"); countDownToGC = GCInterval; MM_Interface.gc(); } }   if (VM.BuildForEventLogging && VM.EventLoggingEnabled) VM_EventLogger.logObjectAllocationEvent();   return MM_Interface.allocateArray(numElements, size, tib, allocator);
return resolvedNewArray(numElements, array.getLogElementSize(), VM_ObjectModel.computeArrayHeaderSize(array), array.getTypeInformationBlock(), MM_Interface.pickAllocator(array));
  public static Object resolvedNewArray(int numElements, 					int size, 					Object[] tib,					int allocator)    throws OutOfMemoryError, NegativeArraySizeException {    if (numElements < 0) raiseNegativeArraySizeException();    // GC stress testing    if (VM.ForceFrequentGC && VM_Scheduler.allProcessorsInitialized) {      if (countDownToGC-- <= 0) {	VM.sysWrite("FORCING GC: Countdown trigger in quickNewArray\n");	countDownToGC = GCInterval;	MM_Interface.gc();      }    }    // Event logging and stat gathering    if (VM.BuildForEventLogging && VM.EventLoggingEnabled)      VM_EventLogger.logObjectAllocationEvent();    // Allocate the array and initialize its header    return MM_Interface.allocateArray(numElements, size, tib, allocator);  }