This is the mail archive of the java@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: --bootclasspath overriding peer classfiles in a jar


Adam Megacz writes:
 > 
 > Andrew Haley <aph@redhat.com> writes:
 > >  > I'm trying to move towards jar-at-a-time, and my first step is to get
 > >  > 'gcj -c foo.jar' working.  Unfortunately, it seems that if a class
 > >  > appears in both the bootclasspath *and* in foo.jar, then other classes
 > >  > in foo.jar which reference that class will get the jarred version, not
 > >  > the bootclasspath version.
 > 
 > >  >   1. Is this the intended behavior?
 > > Yes.  I don't understand why you would want it to do anything else.
 > 
 > If I put a file called java/lang/Object.class in a jarfile, Sun's VM
 > will not make it the ultimate superclass of all my classes.

So don't do that.  The advantage of being able to compile a jarfile in
one go is that we can do inter-class optimizations such as inlining.\

 > >  >   2. If so, where should I start looking for a hack to alter this
 > >  >      behavior?
 > 
 > > I suspect that -findirect-dispatch will do what you want.
 > 
 > Er, I don't think we're on the same page.... I want to use the
 > bootclasspath to resolve method references (ie play the role of
 > headers in the C++ world), but the actual .o files are generated from
 > the corresponding .class file within the jar.

What on Earth for?  I can't help if I have no idea what you're trying
to do.

Andrew.


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