public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
From: "jakub at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: java-prs@gcc.gnu.org
Subject: [Bug java/21662] New: Fields in interfaces not optimized when read from *.class, but optimized when read from *.java
Date: Thu, 19 May 2005 11:48:00 -0000	[thread overview]
Message-ID: <20050519114809.21662.jakub@gcc.gnu.org> (raw)

#!/bin/sh
rm -rf test
mkdir test
cat > test/Configuration.java <<EOF
package test;
public interface Configuration
{
  boolean INIT_LOAD_LIBRARY = false;
}
EOF
cat > test/Test.java <<EOF
package test;
import test.Configuration;
public class Test
{
  static
  {
    if (Configuration.INIT_LOAD_LIBRARY)
      {
        System.loadLibrary("gtkpeer");
      }
  }
}
EOF
gcj -C --classpath '' test/Test.java
mv test/Test.class{,.fromsrc}
gcj -C --classpath '' test/Configuration.java
gcj -C --classpath '' test/Test.java
mv test/Test.class{,.fromclass}
jcf-dump -c test/Test.class.fromsrc > test/fromsrc
jcf-dump -c test/Test.class.fromclass > test/fromclass
diff -u test/from{src,class}

In libjava build unless --enable-libgcj-multifile is used this has the bad
side effect that libgcj-4*.jar depends on the exact timing when doing make -jN
build (e.g. GdkTextLayout.java and Configuration.java are compiled about at the
same time, so if Configuration.java is compiled quickly enough
GdkTextLayout.class will not be as optimized as it could be, while
if Configuration.java compilation is tiny bit slower, GdkTextLayout.java's
compilation will read Configuration.java and optimize the bool test out.

-- 
           Summary: Fields in interfaces not optimized when read from
                    *.class, but optimized when read from *.java
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: java
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org
                CC: aph at gcc dot gnu dot org,gcc-bugs at gcc dot gnu dot
                    org,java-prs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21662


             reply	other threads:[~2005-05-19 11:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-19 11:48 jakub at gcc dot gnu dot org [this message]
2005-05-21 14:02 ` [Bug java/21662] [3.4/4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
2005-05-21 14:03 ` pinskia at gcc dot gnu dot org
2005-07-08  1:37 ` mmitchel at gcc dot gnu dot org
2005-08-22  3:34 ` mmitchel at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050519114809.21662.jakub@gcc.gnu.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=java-prs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).