lastGCFullHeap = gcFullHeap;
  public void collectionPhase(int phaseId) throws NoInlinePragma {    if (phaseId == PREPARE) {      nurserySpace.prepare(true);      lastGCFullHeap = gcFullHeap;      if (traceFullHeap()) {        if (gcFullHeap) {          if (Stats.gatheringStats()) fullHeap.set();          fullHeapTime.start();        }        super.collectionPhase(phaseId);        // we can throw away the remsets for a full heap GC        remsetPool.clearDeque(1);        arrayRemsetPool.clearDeque(2);      }      return;    }    if (phaseId == RELEASE) {      nurserySpace.release();      remsetPool.clearDeque(1);      arrayRemsetPool.clearDeque(2);      if (traceFullHeap()) {        super.collectionPhase(phaseId);        if (gcFullHeap) fullHeapTime.stop();      }      gcFullHeap = (getPagesAvail() < Options.nurserySize.getMinNursery());      progress = (getPagesReserved() + required) < getTotalPages();      return;    }    super.collectionPhase(phaseId);  }