--- Anthony Green <green(a)redhat.com> wrote:
On Wed, 2005-08-17 at 16:57 +0100, Robin Green wrote:
> >> Rebuild your code with -findirect-dispatch and it will work.
> > Ok. Compiled from .java --> .o with that option and now it does
> > the same thing as when I run it via gij.
> > Which is weird, since the gcj man page has this to say:
> > | Note that, at present, "-findirect-dispatch" can only be used
> > | when compiling .class files. It will not work when compiling
> > | from source.
> Right. What I think Anthony *meant* was, follow the instructions on this
> page: http://gcc.gnu.org/wiki/How%20to%20BC%20compile%20with%20GCJ
Hmm.. no, I really did mean compile your .java file with
-findirect-dispatch and it works. Omit the -findirect-dispatch and the
As long as that wiki page was mentioned, I wanted to interject
something about it: It's a good start, but I think it could use an
additional initial descriptive paragraph.
Excellent points to include might be:
1. What is the "new binary compatibility ABI" and why would it matter to
me (J. Random Java Hacker)? Does it refer to linking with code that
was natively compiled with an older (or newer?) version of GCJ?
2. Exactly why would I want to "treat GCJ as a kind of caching JIT"?
Doesn't the libgcj runtime already do something like that?
3. The 3rd sentence says, "The original application remains unchanged".
What is being discussed? What's the original application?
4. The 4th sentence says, "However, defineClass() is modified to find
the executable form of the class in a shared library." Where's this
defineClass() method defined? Why would it be in my code? Did I write
5. It goes on to talk about a ".db" file. Is a database involved here?
Anyhow, I'm certainly not complaining. It's great that someone has put
in the time to get that page up. I'm just providing some suggestions
on how it could be made more useful for the uninitiated.
IMO, free software projects live and die by the quality of their docs.
Start your day with Yahoo! - make it your home page