collectionInitiated = true;
  public final boolean poll(boolean mustCollect, MemoryResource mr)    throws VM_PragmaLogicallyUninterruptible {    if (collectionInitiated || !initialized || mr == metaDataMR) return false;    mustCollect |= stressTestGCRequired();    boolean heapFull = getPagesReserved() > getTotalPages();    boolean nurseryFull = nurseryMR.reservedPages() > Options.maxNurseryPages;    if (mustCollect || heapFull || nurseryFull) {      required = mr.reservedPages() - mr.committedPages();      if (mr == nurseryMR) required = required<<1;  // account for copy reserve      collectionInitiated = true;      VM_Interface.triggerCollection(VM_Interface.RESOURCE_TRIGGERED_GC);      return true;    }    return false;  }