On Wed, Jul 01, 2009 at 01:37:23PM +0100, Andrew Haley wrote:
> It's not an ABI change. This patch is OK iff accompanied by a comment
> in the code that explains the problem.
Thanks, here is what I've committed.
In doing so, I had to --enable-java-maintainer-mode to update the class
file, which in addition to changing the HTML_401F* files changed a lot of
headers and a handful of classes as well, see attached second patch.
But at least the header changes look wrong, see e.g.
- namespace namespace$
+ namespace namespace
changes in the headers, I guess related to recent keyword handling changes.
Dunno if that is because I had a wrong gcjh or if there is some recent issue in the
tools.
I've only committed the HTML_401F* files, the second patch is just FYI.
Index: classpath/ChangeLog.gcj
===================================================================
--- classpath/ChangeLog.gcj (revision 149147)
+++ classpath/ChangeLog.gcj (working copy)
@@ -1,3 +1,10 @@
+2009-07-01 Jakub Jelinek <
jakub@...>
+
+ * gnu/javax/swing/text/html/parser/HTML_401F.java (defineElements):
+ Split this huge method into...
+ (defineElements1, defineElements2, defineElements3, defineElements4,
+ defineElements5, defineElements6): ... these smaller methods.
+
2009-06-16 Matthias Klose <
doko@...>
* tools/gnu/classpath/tools/gjdoc/Main.java (getGjdocVersion): Use
Index: classpath/gnu/javax/swing/text/html/parser/HTML_401F.java
===================================================================
--- classpath/gnu/javax/swing/text/html/parser/HTML_401F.java (revision 149147)
+++ classpath/gnu/javax/swing/text/html/parser/HTML_401F.java (working copy)
@@ -379,6 +379,24 @@ public class HTML_401F
*/
protected void defineElements()
{
+ /* Define the elements. This used to be one huge method, which
+ unfortunately took too long to compile and consumed
+ too much memory while compiling it. While it can serve as
+ a good stress test for gcj, it is better to split it up
+ to save time and memory used during GCC bootstrap. */
+ defineElements1();
+ defineElements2();
+ defineElements3();
+ defineElements4();
+ defineElements5();
+ defineElements6();
+ }
+
+ /**
+ * Define first sixth of elements of this DTD.
+ */
+ private void defineElements1()
+ {
/* Define the elements. */
defElement(PCDATA, 0, false, false, null, NONE, NONE,
new AttributeList[ 0 ]);
@@ -885,6 +903,15 @@ public class HTML_401F
0, IMPLIED)
}
);
+
+ }
+
+ /**
+ * Define second sixth of elements of this DTD.
+ */
+ private void defineElements2()
+ {
+ /* Define the elements. */
defElement(CENTER, 0, false, false, null,
NONE
,
@@ -1373,6 +1400,15 @@ public class HTML_401F
attr(ONKEYUP, null, null, 0, IMPLIED)
}
);
+
+ }
+
+ /**
+ * Define third sixth of elements of this DTD.
+ */
+ private void defineElements3()
+ {
+ /* Define the elements. */
defElement(FONT, 0, false, false, null,
NONE
,
@@ -1861,6 +1897,15 @@ public class HTML_401F
attr(VSPACE, null, null, 0, IMPLIED)
}
);
+
+ }
+
+ /**
+ * Define fourth sixth of elements of this DTD.
+ */
+ private void defineElements4()
+ {
+ /* Define the elements. */
defElement(INPUT, EMPTY, false, true, null,
NONE
,
@@ -2357,6 +2402,15 @@ public class HTML_401F
attr(VSPACE, null, null, 0, IMPLIED)
}
);
+
+ }
+
+ /**
+ * Define fifth sixth of elements of this DTD.
+ */
+ private void defineElements5()
+ {
+ /* Define the elements. */
defElement(OL, 0, false, false, createListModel(),
NONE
,
@@ -2859,6 +2913,15 @@ public class HTML_401F
attr(ONKEYUP, null, null, 0, IMPLIED)
}
);
+
+ }
+
+ /**
+ * Define last sixth of elements of this DTD.
+ */
+ private void defineElements6()
+ {
+ /* Define the elements. */
defElement(SUP, 0, false, false, null,
NONE
,
Index: classpath/lib/gnu/javax/swing/text/html/parser/HTML_401F.class
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: gnu/javax/swing/text/html/parser/HTML_401F.h
===================================================================
--- gnu/javax/swing/text/html/parser/HTML_401F.h (revision 149147)
+++ gnu/javax/swing/text/html/parser/HTML_401F.h (working copy)
@@ -58,6 +58,14 @@ public:
static ::javax::swing::text::html::parser::DTD * getInstance();
public: // actually protected
virtual void defineElements();
+private:
+ void defineElements1();
+ void defineElements2();
+ void defineElements3();
+ void defineElements4();
+ void defineElements5();
+ void defineElements6();
+public: // actually protected
virtual void defineEntities();
virtual ::javax::swing::text::html::parser::ContentModel * model(::java::lang::String *);
private:
Jakub