Mercurial > hg > truffle
comparison graal/com.oracle.graal.lir/src/com/oracle/graal/lir/phases/LowLevelMidTierPhase.java @ 19219:edd93c34d015
LowLevelPhase: pass codeEmittingOrder and linearScanOrder to apply().
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Mon, 09 Feb 2015 11:23:13 +0100 |
parents | de456294b59a |
children | 9c47b23fb0a2 |
comparison
equal
deleted
inserted
replaced
19218:58f59bada2c1 | 19219:edd93c34d015 |
---|---|
26 | 26 |
27 import com.oracle.graal.api.code.*; | 27 import com.oracle.graal.api.code.*; |
28 import com.oracle.graal.compiler.common.cfg.*; | 28 import com.oracle.graal.compiler.common.cfg.*; |
29 import com.oracle.graal.lir.gen.*; | 29 import com.oracle.graal.lir.gen.*; |
30 | 30 |
31 public abstract class LowLevelMidTierPhase<B extends AbstractBlock<B>> extends LowLevelPhase<LowLevelMidTierPhase.Context<B>> { | 31 public abstract class LowLevelMidTierPhase<B extends AbstractBlock<B>> extends LowLevelPhase<LowLevelMidTierPhase.Context, B> { |
32 | 32 |
33 public static final class Context<B extends AbstractBlock<B>> { | 33 public static final class Context { |
34 final List<B> codeEmittingOrder; | |
35 final List<B> linearScanOrder; | |
36 | |
37 public Context(List<B> codeEmittingOrder, List<B> linearScanOrder) { | |
38 this.codeEmittingOrder = codeEmittingOrder; | |
39 this.linearScanOrder = linearScanOrder; | |
40 } | |
41 } | 34 } |
42 | 35 |
43 @Override | 36 @Override |
44 protected void run(TargetDescription target, LIRGenerationResult lirGenRes, Context<B> context) { | 37 protected void run(TargetDescription target, LIRGenerationResult lirGenRes, List<B> codeEmittingOrder, List<B> linearScanOrder, Context context) { |
45 run(target, lirGenRes, context.codeEmittingOrder, context.linearScanOrder); | 38 run(target, lirGenRes, codeEmittingOrder, linearScanOrder); |
46 } | 39 } |
47 | 40 |
48 protected abstract void run(TargetDescription target, LIRGenerationResult lirGenRes, List<B> codeEmittingOrder, List<B> linearScanOrder); | 41 protected abstract void run(TargetDescription target, LIRGenerationResult lirGenRes, List<B> codeEmittingOrder, List<B> linearScanOrder); |
49 | 42 |
50 } | 43 } |