# HG changeset patch # User Doug Simon # Date 1403863178 -7200 # Node ID 95c174d0c5324c092ce5d3c0687a0f3f9e95dee9 # Parent 96fbf0582b08ef94d3fcdad84f0731752cb4bf60 removed legacy GraphEvent[Log] code diff -r 96fbf0582b08 -r 95c174d0c532 graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java Fri Jun 27 11:25:56 2014 +0200 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java Fri Jun 27 11:59:38 2014 +0200 @@ -26,7 +26,6 @@ import com.oracle.graal.compiler.common.*; import com.oracle.graal.debug.*; -import com.oracle.graal.graph.GraphEvent.NodeEvent; import com.oracle.graal.graph.Node.ValueNumberable; import com.oracle.graal.graph.NodeClass.NodeClassIterator; import com.oracle.graal.graph.NodeClass.Position; @@ -39,8 +38,6 @@ public final String name; - private static final boolean TIME_TRAVEL = false; - /** * The set of nodes in the graph, ordered by {@linkplain #register(Node) registration} time. */ @@ -67,7 +64,6 @@ private final ArrayList nodeCacheLast; private int nodesDeletedSinceLastCompression; private int nodesDeletedBeforeLastCompression; - private GraphEventLog eventLog; /** * The number of times this graph has been compressed. @@ -851,36 +847,11 @@ if (nodeEventListener != null) { nodeEventListener.nodeAdded(node); } - logNodeAdded(node); - } - - void logNodeAdded(Node node) { - if (TIME_TRAVEL) { - log(new GraphEvent.NodeEvent(node, GraphEvent.NodeEvent.Type.ADDED)); - } - } - - void logNodeDeleted(Node node) { - if (TIME_TRAVEL) { - log(new GraphEvent.NodeEvent(node, GraphEvent.NodeEvent.Type.DELETED)); - } - } - - private void log(NodeEvent nodeEvent) { - if (eventLog == null) { - eventLog = new GraphEventLog(); - } - eventLog.add(nodeEvent); - } - - public GraphEventLog getEventLog() { - return eventLog; } void unregister(Node node) { assert !isFrozen(); assert !node.isDeleted() : "cannot delete a node twice! node=" + node; - logNodeDeleted(node); nodes[node.id] = null; nodesDeletedSinceLastCompression++; diff -r 96fbf0582b08 -r 95c174d0c532 graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraphEvent.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraphEvent.java Fri Jun 27 11:25:56 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2011, 2011, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package com.oracle.graal.graph; - -import java.io.*; - -public abstract class GraphEvent { - - private Exception exceptionContext; - - public static class NodeEvent extends GraphEvent { - - public static enum Type { - ADDED, - DELETED, - CHANGED - } - - public final Node node; - public final Type type; - private final String nodeString; - - public NodeEvent(Node n, Type type) { - this.node = n; - this.type = type; - nodeString = n.toString(); - } - - @Override - public StackTraceElement[] print(StackTraceElement[] last, PrintStream stream) { - stream.println(type.toString() + ", " + nodeString); - return super.print(last, stream); - } - } - - public static class EdgeEvent extends GraphEvent { - - public static enum Type { - INPUT, - SUCC - } - - public final Node node; - public final int index; - public final Node newValue; - public final Type type; - - public EdgeEvent(Node node, int index, Node newValue, Type type) { - this.node = node; - this.index = index; - this.newValue = newValue; - this.type = type; - } - } - - public GraphEvent() { - exceptionContext = new Exception(); - } - - public StackTraceElement[] print(StackTraceElement[] last, PrintStream stream) { - StackTraceElement[] stackTrace = exceptionContext.getStackTrace(); - - boolean atTop = true; - for (int i = 0; i < stackTrace.length; ++i) { - StackTraceElement elem = stackTrace[i]; - int toBottom = stackTrace.length - i; - if (atTop) { - if (!elem.getClassName().startsWith("com.oracle.graal.graph.Graph") && !elem.getClassName().startsWith("com.oracle.graal.graph.Node")) { - atTop = false; - } else { - continue; - } - } else { - if (last.length >= toBottom && last[last.length - toBottom].equals(elem)) { - continue; - } - } - stream.println(String.format("%s.%s(%s:%d)", elem.getClassName(), elem.getMethodName(), elem.getFileName(), elem.getLineNumber())); - } - return stackTrace; - } -} diff -r 96fbf0582b08 -r 95c174d0c532 graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraphEventLog.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraphEventLog.java Fri Jun 27 11:25:56 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2011, 2011, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package com.oracle.graal.graph; - -import java.io.*; -import java.util.*; - -public class GraphEventLog { - - private List events = new ArrayList<>(); - - public void add(GraphEvent e) { - this.events.add(e); - } - - public void printEvents(PrintStream stream) { - StackTraceElement[] last = new StackTraceElement[0]; - for (GraphEvent e : events) { - last = e.print(last, stream); - } - } -}