# HG changeset patch # User Gilles Duboscq # Date 1427296520 -3600 # Node ID 3bda2c03d0891c58f04a24d957ba23705b857f68 # Parent dc3c886e3cca58145c3ab8c473170501f53c5ed3 Add scope with the schedule in EffectsPhase diff -r dc3c886e3cca -r 3bda2c03d089 graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectsPhase.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectsPhase.java Wed Mar 25 16:31:35 2015 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectsPhase.java Wed Mar 25 16:15:20 2015 +0100 @@ -83,33 +83,36 @@ schedule.apply(graph, false); cfg = schedule.getCFG(); } - - Closure closure = createEffectsClosure(context, schedule, cfg); - ReentrantBlockIterator.apply(closure, cfg.getStartBlock()); + try (Scope scheduleScope = Debug.scope("EffectsPhaseWithSchedule", schedule)) { + Closure closure = createEffectsClosure(context, schedule, cfg); + ReentrantBlockIterator.apply(closure, cfg.getStartBlock()); - if (!closure.hasChanged()) { - break; - } + if (!closure.hasChanged()) { + break; + } - // apply the effects collected during this iteration - HashSetNodeEventListener listener = new HashSetNodeEventListener(); - try (NodeEventScope nes = graph.trackNodeEvents(listener)) { - closure.applyEffects(); - } + // apply the effects collected during this iteration + HashSetNodeEventListener listener = new HashSetNodeEventListener(); + try (NodeEventScope nes = graph.trackNodeEvents(listener)) { + closure.applyEffects(); + } - if (Debug.isDumpEnabled()) { - Debug.dump(graph, "after " + getName() + " iteration"); - } + if (Debug.isDumpEnabled()) { + Debug.dump(graph, "after " + getName() + " iteration"); + } - new DeadCodeEliminationPhase(Required).apply(graph); + new DeadCodeEliminationPhase(Required).apply(graph); - Set changedNodes = listener.getNodes(); - for (Node node : graph.getNodes()) { - if (node instanceof Simplifiable) { - changedNodes.add(node); + Set changedNodes = listener.getNodes(); + for (Node node : graph.getNodes()) { + if (node instanceof Simplifiable) { + changedNodes.add(node); + } } + postIteration(graph, context, changedNodes); + } catch (Throwable t) { + throw Debug.handle(t); } - postIteration(graph, context, changedNodes); } changed = true; }