public inbox for java-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Roger Sayle <roger@nextmovesoftware.com>
To: Andrew Hughes <gnu.andrew@redhat.com>
Cc: Andrew Haley <aph@redhat.com>, java-patches@gcc.gnu.org
Subject: Re: [JAVA PATCH] Enable more array bounds check elimination
Date: Wed, 24 Feb 2016 01:11:00 -0000	[thread overview]
Message-ID: <BF72AE9E-E0F5-44A0-8847-9BCB2A0CD0E8@nextmovesoftware.com> (raw)
In-Reply-To: <991292478.26327859.1456249539216.JavaMail.zimbra@redhat.com>


Hi Andrew,

[Spooky, Graham Birtwistle was also my PhD examiner, and Rob Pooley a
lecturer in the department at the time].

On 23 Feb 2016, at 18:45, Andrew Hughes <gnu.andrew@redhat.com> wrote:
> Yes, I believe we agreed to regard it as deprecated in 6 and remove it
> during the lifetime of 7 [0]. As such, this patch probably needs to
> go to the 6 branch too if it's ever going to see the light of day.
> 
> [0] https://gcc.gnu.org/ml/java-patches/2015-q3/msg00041.html

Thanks for this very useful pointer.

Following the thread above, there seems to be an unclear lack of distinction
between different aspects and roles of GCJ, that I hope you can clear up.

I completely agree that maintaining libjava/classpath has been a pain, tracking a
continual moving target of a huge API, and now obsolete thanks to OpenJDK
and IcedTea.  But what I'm interested in is the Free Software Foundation's
ahead-of-time compiler for transforming Java bytecodes/class files to binary
executables, i.e. jc1.

My understanding is that the JVM bytecode instruction set has been 
relatively stable over the ages, and that "gcj" compiles the contents of
most modern class files without problems, it's only the run-time library
support that hasn't kept pace with the times.

Is there any reason why gcj 7.x couldn't/doesn't use OpenJDK as its runtime library?

When a better open source front-end came along (ecj), gcj switched to using
that to reduce the overhead of tracking syntax changes to the Java language.
Now that a better run-time library exists, reducing the overhead of tracking
library API changes, it seems odd not to switch to it, but to instead end-of-life
the ahead of time compiler, specifically the translation to gimple front-end.

To me obsoleting GNU classpath, which is holding gcj back to Java 1.5 [for
example no java.io.IOException(String,Throwable) constructor] is independent
of the potential performance benefits of a gcj compiled tomcat, eclipse or
LibreOffice.

Perhaps, I'm missing something or under-estimating the complexity of porting
the bits of OpenJDK that aren't written in Java, but I'd imagine this is significantly
simpler than attempting to update the current libjava to 1.8 and beyond.

Again apologies for being late to the discussion,  Perhaps the thread you cited
didn't capture the entirety of the discussion, and the distinct benefits/overheads
between gcj's runtime and the front-end itself were covered elsewhere.

Thanks in advance,

Roger
--

  reply	other threads:[~2016-02-24  1:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-22 23:02 Roger Sayle
2016-02-23  9:56 ` Andrew Haley
2016-02-23 17:45   ` Andrew Hughes
2016-02-24  1:11     ` Roger Sayle [this message]
2016-02-24  3:23       ` Andrew Hughes
2016-02-24  9:53       ` Andrew Haley
  -- strict thread matches above, loose matches on Subject: below --
2016-02-22 18:10 roger
2016-02-22 18:13 ` Andrew Haley
2016-02-22 18:18 ` Jeff Law
2016-07-13 20:07 ` Jeff Law
2016-07-14 17:12   ` Andrew Hughes
2016-07-14 17:43     ` Andrew Haley

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=BF72AE9E-E0F5-44A0-8847-9BCB2A0CD0E8@nextmovesoftware.com \
    --to=roger@nextmovesoftware.com \
    --cc=aph@redhat.com \
    --cc=gnu.andrew@redhat.com \
    --cc=java-patches@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).