< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SimplifyingGraphDecoder.java
Print this page
*** 42,52 ****
import org.graalvm.compiler.nodes.extended.GuardingNode;
import org.graalvm.compiler.nodes.extended.IntegerSwitchNode;
import org.graalvm.compiler.nodes.java.ArrayLengthNode;
import org.graalvm.compiler.nodes.java.LoadFieldNode;
import org.graalvm.compiler.nodes.java.LoadIndexedNode;
! import org.graalvm.compiler.nodes.spi.StampProvider;
import org.graalvm.compiler.nodes.util.GraphUtil;
import org.graalvm.compiler.options.OptionValues;
import jdk.vm.ci.code.Architecture;
import jdk.vm.ci.meta.Assumptions;
--- 42,52 ----
import org.graalvm.compiler.nodes.extended.GuardingNode;
import org.graalvm.compiler.nodes.extended.IntegerSwitchNode;
import org.graalvm.compiler.nodes.java.ArrayLengthNode;
import org.graalvm.compiler.nodes.java.LoadFieldNode;
import org.graalvm.compiler.nodes.java.LoadIndexedNode;
! import org.graalvm.compiler.nodes.spi.CoreProviders;
import org.graalvm.compiler.nodes.util.GraphUtil;
import org.graalvm.compiler.options.OptionValues;
import jdk.vm.ci.code.Architecture;
import jdk.vm.ci.meta.Assumptions;
*** 59,72 ****
* during decoding. Additionally, {@link IfNode branches} and {@link IntegerSwitchNode switches}
* with constant conditions are simplified.
*/
public class SimplifyingGraphDecoder extends GraphDecoder {
! protected final MetaAccessProvider metaAccess;
! protected final ConstantReflectionProvider constantReflection;
! protected final ConstantFieldProvider constantFieldProvider;
! protected final StampProvider stampProvider;
protected final boolean canonicalizeReads;
protected final CanonicalizerTool canonicalizerTool;
protected class PECanonicalizerTool implements CanonicalizerTool {
--- 59,69 ----
* during decoding. Additionally, {@link IfNode branches} and {@link IntegerSwitchNode switches}
* with constant conditions are simplified.
*/
public class SimplifyingGraphDecoder extends GraphDecoder {
! protected final CoreProviders providers;
protected final boolean canonicalizeReads;
protected final CanonicalizerTool canonicalizerTool;
protected class PECanonicalizerTool implements CanonicalizerTool {
*** 83,103 ****
return options;
}
@Override
public MetaAccessProvider getMetaAccess() {
! return metaAccess;
}
@Override
public ConstantReflectionProvider getConstantReflection() {
! return constantReflection;
}
@Override
public ConstantFieldProvider getConstantFieldProvider() {
! return constantFieldProvider;
}
@Override
public boolean canonicalizeReads() {
return canonicalizeReads;
--- 80,100 ----
return options;
}
@Override
public MetaAccessProvider getMetaAccess() {
! return providers.getMetaAccess();
}
@Override
public ConstantReflectionProvider getConstantReflection() {
! return providers.getConstantReflection();
}
@Override
public ConstantFieldProvider getConstantFieldProvider() {
! return providers.getConstantFieldProvider();
}
@Override
public boolean canonicalizeReads() {
return canonicalizeReads;
*** 133,150 ****
public Node canonical(CanonicalizerTool tool) {
return null;
}
}
! public SimplifyingGraphDecoder(Architecture architecture, StructuredGraph graph, MetaAccessProvider metaAccess, ConstantReflectionProvider constantReflection,
! ConstantFieldProvider constantFieldProvider, StampProvider stampProvider,
! boolean canonicalizeReads) {
super(architecture, graph);
! this.metaAccess = metaAccess;
! this.constantReflection = constantReflection;
! this.constantFieldProvider = constantFieldProvider;
! this.stampProvider = stampProvider;
this.canonicalizeReads = canonicalizeReads;
this.canonicalizerTool = new PECanonicalizerTool(graph.getAssumptions(), graph.getOptions());
}
@Override
--- 130,142 ----
public Node canonical(CanonicalizerTool tool) {
return null;
}
}
! public SimplifyingGraphDecoder(Architecture architecture, StructuredGraph graph, CoreProviders providers, boolean canonicalizeReads) {
super(architecture, graph);
! this.providers = providers;
this.canonicalizeReads = canonicalizeReads;
this.canonicalizerTool = new PECanonicalizerTool(graph.getAssumptions(), graph.getOptions());
}
@Override
< prev index next >