if (GC_TRIGGERGC)
if (VM.verboseGC)
  allocateScalar1 (VM_SizeControl the_size, Object[] tib, int size, int ndx)  {  VM_Magic.pragmaNoInline(); // make sure this method is not inlined  int objaddr = allocatex(the_size, tib, size, the_size.ndx);  if (objaddr == 0) {    if (GC_TRIGGERGC)       VM_Scheduler.trace(" gc collection triggered by small scalar request \n", "XX");    gc1();    // reset the_size in case we are on a different processor after GC    VM_Processor st = VM_Processor.getCurrentProcessor();    the_size  = st.GC_INDEX_ARRAY[size];		if (DEBUG_FREE) if (the_size.current_block != the_size.first_block) {			VM_Scheduler.trace(" After gc, current_block not reset ", "AS1", ndx);		}  }  else {    return VM_Magic.addressAsObject(objaddr);  }  // At this point allocation might or might not succeed, since the  // thread which originally requested the collection is usually not  // the one to run after gc is finished; therefore failing here is  // not a permanent failure necessarily  //	int control = 0;  while (control < 2) {  // try fast path again  if (the_size.next_slot != 0) {  // fastest path    objaddr = the_size.next_slot;    if (DebugLink) {      if (!isValidSmallHeapPtr(objaddr)) VM.sysFail("Bad ptr");      if (!isPtrInBlock(objaddr, the_size)) VM.sysFail("Pointer out of block");    }    the_size.next_slot = VM_Magic.getMemoryWord(objaddr);    if (DebugLink && (the_size.next_slot != 0)) {      if (!isValidSmallHeapPtr(the_size.next_slot)) VM.sysFail("Bad ptr");      if (!isPtrInBlock(the_size.next_slot, the_size)) VM.sysFail("Pointer out of block");    }    VM_Magic.setMemoryWord(objaddr, 0);    objaddr += size - OBJECT_ADDR_POSITION;    VM_Magic.setMemoryWord(objaddr + OBJECT_TIB_OFFSET,    VM_Magic.objectAsAddress(tib));    return VM_Magic.addressAsObject(objaddr);  }  else objaddr = allocatex(the_size, tib, size, the_size.ndx);  if (objaddr == 0) {   // failure    if (GC_TRIGGERGC)       VM_Scheduler.trace(" 2nd gc collection triggered by", " small scalar request \n", size);		flag2nd = true;    gc1();    // reset the_size in case we are on a different processor after GC    VM_Processor st = VM_Processor.getCurrentProcessor();    the_size  = st.GC_INDEX_ARRAY[size];  }  else {    return VM_Magic.addressAsObject(objaddr);  }  control++;	}	outOfMemory(size, 1300);  // outOfMemory does not return: following line is for compilation  return VM_Magic.addressAsObject(objaddr);  }   // allocateScalar1