VM.sysFail("VM_MallocHeap failed to malloc " + size  + " bytes");
VM.sysWriteln("VM_MallocHeap failed to malloc ", size, " bytes"); VM.sysFail("Exiting VM with fatal error");
  protected VM_Address allocateZeroedMemory(int size) {    // NOTE: must use processorLock instead of synchronized virtual method    //       because we can't give up the virtual processor.    //       This method is sometimes called when the GC system is in a delicate state.    spaceLock.lock();    VM_Address region = VM_Address.fromInt(VM.sysCall1(VM_BootRecord.the_boot_record.sysMallocIP, size));    VM_Address regionEnd = region.add(size);    if (region.isZero()) {      VM.sysFail("VM_MallocHeap failed to malloc " + size  + " bytes");    }    VM_Memory.zero(region, regionEnd);    if (start.isZero() || region.LT(start)) start = region;    if (regionEnd.GT(end)) end = regionEnd;    VM_Processor pr = VM_Processor.getCurrentProcessor();    pr.disableThreadSwitching();    setAuxiliary();    pr.enableThreadSwitching();    /*      VM.sysWrite("malloc.allocate:  region = "); VM.sysWrite(region);      VM.sysWrite("    "); show();      VM_Scheduler.dumpStack();    */    spaceLock.unlock();    return region;  }