[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) {