for (java.util.Iterator e = intervals.getIntervals(); e.hasNext(); ) {
for (Iterator e = intervals.getIntervals(); e.hasNext(); ) {
  void perform(OPT_IR ir) {    this.ir = ir;    // TODO: consider making a composite phase.  Can we share state    // between elements of a composite phase??    new IntervalAnalysis().perform(ir);     //  The registerManager has already been initialized    OPT_GenericStackManager sm = ir.stackManager;    // Set up register restrictions    sm.computeRestrictions(ir);    OPT_RegisterRestrictions restrict = sm.getRestrictions();    // Create the object that manages spill locations    spillManager = new SpillLocationManager(ir);    // Create an (empty) set of active intervals.    ActiveSet active = new ActiveSet(ir,spillManager);    // Intervals sorted by increasing start point    for (java.util.Iterator e = intervals.getIntervals(); e.hasNext(); ) {      BasicInterval bi = (BasicInterval)e.next();      active.expireOldIntervals(bi);      // If the interval does not correspond to a physical register      // then we process it.      if (!bi.getRegister().isPhysical()) {        // Update register allocation based on the new interval.        active.allocate(bi);      }       active.insert(bi);    }    // update GC maps.    updateGCMaps(ir);    replaceSymbolicRegisters(ir);    // Generate spill code if necessary    if (ir.hasSysCall() || active.spilledSomething()) {	      OPT_StackManager stackMan = (OPT_StackManager)sm;      stackMan.insertSpillCode(active);//      stackMan.insertSpillCode();    }    rewriteFPStack(ir);    // update GC maps again, to account for changes induced by spill code.    updateGCMaps2(ir);  }