src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SimplifyingGraphDecoder.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SimplifyingGraphDecoder.java Mon Mar 20 17:40:31 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SimplifyingGraphDecoder.java Mon Mar 20 17:40:31 2017
*** 37,46 ****
--- 37,47 ----
import org.graalvm.compiler.nodes.calc.FloatingNode;
import org.graalvm.compiler.nodes.extended.GuardingNode;
import org.graalvm.compiler.nodes.extended.IntegerSwitchNode;
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;
import jdk.vm.ci.meta.ConstantReflectionProvider;
import jdk.vm.ci.meta.MetaAccessProvider;
*** 60,72 ****
--- 61,80 ----
protected final boolean canonicalizeReads;
protected class PECanonicalizerTool implements CanonicalizerTool {
private final Assumptions assumptions;
+ private final OptionValues options;
! public PECanonicalizerTool(Assumptions assumptions, OptionValues options) {
this.assumptions = assumptions;
+ this.options = options;
+ }
+
+ @Override
+ public OptionValues getOptions() {
+ return options;
}
@Override
public MetaAccessProvider getMetaAccess() {
return metaAccess;
*** 230,240 ****
--- 238,248 ----
}
handleCanonicalization(methodScope, loopScope, nodeOrderId, node, canonical);
}
} else if (node instanceof Canonicalizable) {
! Node canonical = ((Canonicalizable) node).canonical(new PECanonicalizerTool(methodScope.graph.getAssumptions(), methodScope.graph.getOptions()));
if (canonical != node) {
handleCanonicalization(methodScope, loopScope, nodeOrderId, node, canonical);
}
}
}
*** 281,291 ****
--- 289,299 ----
protected Node handleFloatingNodeBeforeAdd(MethodScope methodScope, LoopScope loopScope, Node node) {
if (node instanceof ValueNode) {
((ValueNode) node).inferStamp();
}
if (node instanceof Canonicalizable) {
! Node canonical = ((Canonicalizable) node).canonical(new PECanonicalizerTool(methodScope.graph.getAssumptions(), methodScope.graph.getOptions()));
if (canonical == null) {
/*
* This is a possible return value of canonicalization. However, we might need to
* add additional usages later on for which we need a node. Therefore, we just do
* nothing and leave the node in place.
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SimplifyingGraphDecoder.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File