diff --git a/libjava/classpath/ChangeLog.gcj b/libjava/classpath/ChangeLog.gcj index 6398644ad7d6..4b93934c3bec 100644 --- a/libjava/classpath/ChangeLog.gcj +++ b/libjava/classpath/ChangeLog.gcj @@ -1,3 +1,10 @@ +2009-07-01 Jakub Jelinek + + * 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 * tools/gnu/classpath/tools/gjdoc/Main.java (getGjdocVersion): Use diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401F.java b/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401F.java index 1894b6a1ac6d..5555412d01af 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401F.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401F.java @@ -378,6 +378,24 @@ public class HTML_401F * Define all elements of this DTD. */ 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, @@ -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 , diff --git a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/HTML_401F.class b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/HTML_401F.class index 5d9889c62e0e..270279b92d9c 100644 Binary files a/libjava/classpath/lib/gnu/javax/swing/text/html/parser/HTML_401F.class and b/libjava/classpath/lib/gnu/javax/swing/text/html/parser/HTML_401F.class differ diff --git a/libjava/gnu/javax/swing/text/html/parser/HTML_401F.h b/libjava/gnu/javax/swing/text/html/parser/HTML_401F.h index 8ef57c70b314..d613328cac6f 100644 --- a/libjava/gnu/javax/swing/text/html/parser/HTML_401F.h +++ b/libjava/gnu/javax/swing/text/html/parser/HTML_401F.h @@ -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: