[kaffe] CVS kaffe-extras (guilhem): Fix in KJC's SSA optimizer.

Kaffe CVS Kaffe Mailing List <kaffe@kaffe.org>
Sun May 23 11:41:02 2004


PatchSet 37 
Date: 2004/05/23 18:40:42
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Fix in KJC's SSA optimizer.

        * bytecode/ssa/Node.java
        (removeSuccessor): Return immediately after having deleting the
        requested element. In the other ConcurrentModificationException may be
        raised.

Members: 
	patches/kjc-kaffe.diff:1.4->1.5 

Index: kaffe-extras/patches/kjc-kaffe.diff
diff -u kaffe-extras/patches/kjc-kaffe.diff:1.4 kaffe-extras/patches/kjc-kaffe.diff:1.5
--- kaffe-extras/patches/kjc-kaffe.diff:1.4	Sun May 23 12:41:34 2004
+++ kaffe-extras/patches/kjc-kaffe.diff	Sun May 23 18:40:42 2004
@@ -1,7 +1,20 @@
 diff -N ChangeLog
 --- /dev/null	1 Jan 1970 00:00:00 -0000
-+++ ChangeLog	22 May 2004 17:20:46 -0000
-@@ -0,0 +1,14 @@
++++ ChangeLog	23 May 2004 18:38:09 -0000	1.4
+@@ -0,0 +1,27 @@
++2004-05-23  Guilhem Lavaux <guilhem@kaffe.org>
++
++	* bytecode/ssa/Node.java
++	(removeSuccessor): Return immediately after having deleting the
++	requested element. In the other ConcurrentModificationException may be
++	raised.
++
++2004-05-23  Guilhem Lavaux <guilhem@kaffe.org>
++
++	* kjc/JIfStatement.java
++	(analyse): Removed patch. It was all wrong and the Tree-SSA optimizer
++	was already excluding it.
++
 +2004-05-22  Guilhem Lavaux <guilhem@kaffe.org>
 +
 +	* kjc/JIfStatement.java
@@ -821,7 +834,7 @@
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 + *
-+ * $Id: kjc-kaffe.diff,v 1.4 2004/05/23 12:41:34 guilhem Exp $
++ * $Id: kjc-kaffe.diff,v 1.5 2004/05/23 18:40:42 guilhem Exp $
 + */
 +
 +package at.dms.ksm;
@@ -932,7 +945,7 @@
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 + *
-+ * $Id: kjc-kaffe.diff,v 1.4 2004/05/23 12:41:34 guilhem Exp $
++ * $Id: kjc-kaffe.diff,v 1.5 2004/05/23 18:40:42 guilhem Exp $
 + */
 +
 +// Import the necessary classes
@@ -2405,7 +2418,7 @@
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 + *
-+ * $Id: kjc-kaffe.diff,v 1.4 2004/05/23 12:41:34 guilhem Exp $
++ * $Id: kjc-kaffe.diff,v 1.5 2004/05/23 18:40:42 guilhem Exp $
 + */
 +
 +package at.dms.ksm;
@@ -4625,7 +4638,7 @@
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 + *
-+ * $Id: kjc-kaffe.diff,v 1.4 2004/05/23 12:41:34 guilhem Exp $
++ * $Id: kjc-kaffe.diff,v 1.5 2004/05/23 18:40:42 guilhem Exp $
 + */
 +
 +package at.dms.ksm
@@ -4777,7 +4790,7 @@
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 + *
-+ * $Id: kjc-kaffe.diff,v 1.4 2004/05/23 12:41:34 guilhem Exp $
++ * $Id: kjc-kaffe.diff,v 1.5 2004/05/23 18:40:42 guilhem Exp $
 + */
 +
 +prefix Ksm
@@ -8023,7 +8036,7 @@
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 + *
-+ * $Id: kjc-kaffe.diff,v 1.4 2004/05/23 12:41:34 guilhem Exp $
++ * $Id: kjc-kaffe.diff,v 1.5 2004/05/23 18:40:42 guilhem Exp $
 + */
 +
 +package at.dms.ksm;
@@ -8110,7 +8123,7 @@
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 + *
-+ * $Id: kjc-kaffe.diff,v 1.4 2004/05/23 12:41:34 guilhem Exp $
++ * $Id: kjc-kaffe.diff,v 1.5 2004/05/23 18:40:42 guilhem Exp $
 + */
 +
 +package at.dms.ksm;
@@ -8302,7 +8315,7 @@
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 + *
-+ * $Id: kjc-kaffe.diff,v 1.4 2004/05/23 12:41:34 guilhem Exp $
++ * $Id: kjc-kaffe.diff,v 1.5 2004/05/23 18:40:42 guilhem Exp $
 + */
 +
 +package at.dms.ksm;
@@ -8411,7 +8424,7 @@
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 + *
-+ * $Id: kjc-kaffe.diff,v 1.4 2004/05/23 12:41:34 guilhem Exp $
++ * $Id: kjc-kaffe.diff,v 1.5 2004/05/23 18:40:42 guilhem Exp $
 + */
 +
 +package at.dms.ksm;
@@ -8477,7 +8490,7 @@
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 + *
-+ * $Id: kjc-kaffe.diff,v 1.4 2004/05/23 12:41:34 guilhem Exp $
++ * $Id: kjc-kaffe.diff,v 1.5 2004/05/23 18:40:42 guilhem Exp $
 + */
 +
 +aaload ......... :
@@ -12038,9 +12051,9 @@
 +  protected BitSet[] interferenceVarColors;
 +  protected QVar[] variables;
  }
-diff -u -r1.1.1.1 -r1.2
+diff -u -r1.1.1.1 ControlFlowGraph.java
 --- bytecode/ssa/ControlFlowGraph.java	6 Apr 2004 16:59:32 -0000	1.1.1.1
-+++ bytecode/ssa/ControlFlowGraph.java	10 Apr 2004 10:28:33 -0000	1.2
++++ bytecode/ssa/ControlFlowGraph.java	23 May 2004 18:38:37 -0000
 @@ -43,6 +43,7 @@
  import java.util.LinkedList;
  import java.util.Map;
@@ -18359,10 +18372,10 @@
 +  //the control flow graph of the method.
 +  protected ControlFlowGraph cfg;
  }
-diff -u -r1.1.1.1 -r1.2
+diff -u -r1.1.1.1 -r1.3
 --- bytecode/ssa/Node.java	6 Apr 2004 16:59:33 -0000	1.1.1.1
-+++ bytecode/ssa/Node.java	10 Apr 2004 10:28:34 -0000	1.2
-@@ -36,166 +36,195 @@
++++ bytecode/ssa/Node.java	23 May 2004 18:38:09 -0000	1.3
+@@ -36,166 +36,196 @@
   *
   */
  public class Node {
@@ -18659,6 +18672,7 @@
 +      if (edge.getTarget() == node) {
 +        node.predecessors.removeElement(edge);
 +        successors.removeElement(edge);
++        return;
 +      }
 +    }
 +  }
@@ -18718,7 +18732,7 @@
  
  }
  
-@@ -207,44 +236,44 @@
+@@ -207,44 +237,44 @@
   * This class uses an iterator of edges.
   */
  abstract class EdgeIterator implements Iterator {
@@ -35347,10 +35361,10 @@
    }
  
    // ----------------------------------------------------------------------
-diff -u -r1.1.1.1 -r1.3
+diff -u -r1.1.1.1 -r1.4
 --- kjc/JIfStatement.java	6 Apr 2004 16:59:27 -0000	1.1.1.1
-+++ kjc/JIfStatement.java	22 May 2004 17:19:24 -0000	1.3
-@@ -105,7 +108,6 @@
++++ kjc/JIfStatement.java	23 May 2004 12:43:28 -0000	1.4
+@@ -105,7 +105,6 @@
     * @param	p		the visitor
     */
    public void accept(KjcVisitor p) {