public final Object allocateScalar(int size, Object[] tib) throws OutOfMemoryError, VM_PragmaNoInline , VM_PragmaUninterruptible { VM_Address region = allocateZeroedMemory(size); VM_GCStatistics.profileAlloc(region, size, tib); Object newObj = VM_ObjectModel.initializeScalar(region, tib, size); postAllocationProcessing(newObj); return newObj;
public final Object allocateScalar(VM_Class type) throws VM_PragmaUninterruptible { if (VM.VerifyAssertions) VM._assert(type.isInitialized()); int size = type.getInstanceSize(); Object[] tib = type.getTypeInformationBlock(); return allocateScalar(size, tib);
  public final Object allocateScalar(int size, Object[] tib)    throws OutOfMemoryError, VM_PragmaNoInline /* infrequent case allocation --dave */, VM_PragmaUninterruptible {    VM_Address region = allocateZeroedMemory(size);    VM_GCStatistics.profileAlloc(region, size, tib); // profile/debug; usually inlined away to nothing    Object newObj = VM_ObjectModel.initializeScalar(region, tib, size);    postAllocationProcessing(newObj);    return newObj;  }