Mercurial > hg > truffle
view visualizer/Data/src/at/ssw/visualizer/modelimpl/interval/IntervalListImpl.java @ 4512:015fb895586b
Moved visualizer to new directory.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Tue, 07 Feb 2012 22:41:09 +0100 |
parents | |
children |
line wrap: on
line source
package at.ssw.visualizer.modelimpl.interval; import at.ssw.visualizer.model.cfg.BasicBlock; import at.ssw.visualizer.model.cfg.ControlFlowGraph; import at.ssw.visualizer.model.interval.Interval; import at.ssw.visualizer.model.interval.IntervalList; import com.sun.hotspot.igv.data.AbstractFolderElement; import java.util.Arrays; import java.util.Collections; import java.util.List; /** * * @author Christian Wimmer */ public class IntervalListImpl extends AbstractFolderElement implements IntervalList { private Interval[] intervals; private ControlFlowGraph controlFlowGraph; private int numLIROperations; public IntervalListImpl(String shortName, String name, IntervalImpl[] intervals, ControlFlowGraph controlFlowGraph) { super(shortName, name); this.intervals = intervals; this.controlFlowGraph = controlFlowGraph; for (IntervalImpl interval : intervals) { interval.setParent(this); numLIROperations = Math.max(numLIROperations, interval.getTo()); } // for (BasicBlock basicBlock : controlFlowGraph.getBasicBlocks()) { // numLIROperations = Math.max(numLIROperations, basicBlock.getLastLirId() + 2); // } // TODO(tw): Add number of LIR operations to output. } public List<Interval> getIntervals() { return Collections.unmodifiableList(Arrays.asList(intervals)); } public ControlFlowGraph getControlFlowGraph() { return controlFlowGraph; } public int getNumLIROperations() { return numLIROperations; } @Override public String toString() { return " Intervals \"" + getName() + "\": " + intervals.length + " intervals\n"; } }