if (VM.VerifyAssertions) VM.assert(start.LE(current) && current.LE(end));
if (VM.VerifyAssertions) VM._assert(start.LE(current) && current.LE(end));
  public VM_Address allocateRawMemory(int size) throws VM_PragmaUninterruptible {    int offset = VM_Entrypoints.contiguousHeapCurrentField.getOffset();    if (sense == FORWARD) {	VM_Address addr = VM_Synchronization.fetchAndAddAddressWithBound(this, offset, size, end);	if (VM.VerifyAssertions) VM.assert(start.LE(current) && current.LE(end));	if (!addr.isMax()) return addr;    }    else {	VM_Address addr = VM_Synchronization.fetchAndSubAddressWithBound(this, offset, size, start);	if (VM.VerifyAssertions) VM.assert(start.LE(current) && current.LE(end));	if (!addr.isMax()) return addr.sub(size);    }    return VM_Address.zero();  }    