src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase.java

Print this page




 136     }
 137 
 138     protected DebugContext getDebug() {
 139         return res.getLIR().getDebug();
 140     }
 141 
 142     public static boolean isVariableOrRegister(Value value) {
 143         return isVariable(value) || isRegister(value);
 144     }
 145 
 146     abstract static class IntervalPredicate {
 147 
 148         abstract boolean apply(TraceInterval i);
 149     }
 150 
 151     static final IntervalPredicate IS_VARIABLE_INTERVAL = new IntervalPredicate() {
 152 
 153         @Override
 154         public boolean apply(TraceInterval i) {
 155             // all TraceIntervals are variable intervals
 156             return true;
 157         }
 158     };
 159     private static final Comparator<TraceInterval> SORT_BY_FROM_COMP = new Comparator<TraceInterval>() {
 160 
 161         @Override
 162         public int compare(TraceInterval a, TraceInterval b) {
 163             return a.from() - b.from();
 164         }
 165     };
 166     private static final Comparator<TraceInterval> SORT_BY_SPILL_POS_COMP = new Comparator<TraceInterval>() {
 167 
 168         @Override
 169         public int compare(TraceInterval a, TraceInterval b) {
 170             return a.spillDefinitionPos() - b.spillDefinitionPos();
 171         }
 172     };
 173 
 174     public TraceLinearScan createAllocator(Trace trace) {
 175         return new TraceLinearScan(trace);
 176     }




 136     }
 137 
 138     protected DebugContext getDebug() {
 139         return res.getLIR().getDebug();
 140     }
 141 
 142     public static boolean isVariableOrRegister(Value value) {
 143         return isVariable(value) || isRegister(value);
 144     }
 145 
 146     abstract static class IntervalPredicate {
 147 
 148         abstract boolean apply(TraceInterval i);
 149     }
 150 
 151     static final IntervalPredicate IS_VARIABLE_INTERVAL = new IntervalPredicate() {
 152 
 153         @Override
 154         public boolean apply(TraceInterval i) {
 155             // all TraceIntervals are variable intervals
 156             return !i.preSpilledAllocated();
 157         }
 158     };
 159     private static final Comparator<TraceInterval> SORT_BY_FROM_COMP = new Comparator<TraceInterval>() {
 160 
 161         @Override
 162         public int compare(TraceInterval a, TraceInterval b) {
 163             return a.from() - b.from();
 164         }
 165     };
 166     private static final Comparator<TraceInterval> SORT_BY_SPILL_POS_COMP = new Comparator<TraceInterval>() {
 167 
 168         @Override
 169         public int compare(TraceInterval a, TraceInterval b) {
 170             return a.spillDefinitionPos() - b.spillDefinitionPos();
 171         }
 172     };
 173 
 174     public TraceLinearScan createAllocator(Trace trace) {
 175         return new TraceLinearScan(trace);
 176     }


src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File