This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Split gnu/javax/swing/text/html/parser/HTML_401F.java (Was [vta] Add chains from referenced VALUEs to DVs that reference them)


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@redhat.com>
+
+	* 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@ubuntu.com>
 
 	* 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

Attachment: P.bz2
Description: BZip2 compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]