hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EarlyReadEliminationPhase.java
changeset 46551 d01034a83ab2
parent 46344 694c102fd8ed
--- a/hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EarlyReadEliminationPhase.java	Mon Jun 19 11:23:16 2017 +0000
+++ b/hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EarlyReadEliminationPhase.java	Mon Jun 19 16:31:43 2017 -0700
@@ -32,8 +32,16 @@
 
 public class EarlyReadEliminationPhase extends EffectsPhase<PhaseContext> {
 
+    private final boolean considerGuards;
+
     public EarlyReadEliminationPhase(CanonicalizerPhase canonicalizer) {
         super(1, canonicalizer, true);
+        this.considerGuards = true;
+    }
+
+    public EarlyReadEliminationPhase(CanonicalizerPhase canonicalizer, boolean considerGuards) {
+        super(1, canonicalizer, true);
+        this.considerGuards = considerGuards;
     }
 
     @Override
@@ -46,7 +54,7 @@
     @Override
     protected Closure<?> createEffectsClosure(PhaseContext context, ScheduleResult schedule, ControlFlowGraph cfg) {
         assert schedule == null;
-        return new ReadEliminationClosure(cfg);
+        return new ReadEliminationClosure(cfg, considerGuards);
     }
 
     @Override