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: Patch: replace mutex with object synchronization


Jeff Sturm writes:
 > On Tue, 20 Apr 2004, Per Bothner wrote:
 > > Jeff Sturm wrote:
 > >
 > > > When I ran the -fno-assume-compiled experiment I was simply trying to
 > > > link as small an executable as possible.  Efficiency wasn't important.  I
 > > > ran the application once printing the name of each class as it was loaded,
 > >
 > > Did you use any special tools or patch for this?
 > 
 > Not really.  I simply added a print statement to initializeClass().
 > 
 > > I'm thinking it might be useful to implement some property that
 > > if set will print out to a file each class that gets initialized.
 > > Optionally, it might print out a stack trace, in case one wants
 > > to figure out "why is this class gettin initialized"?
 > 
 > Definitely.  At the very least, something like the JRE's -verbose:class
 > option is absent from libgcj.

There's a rough cut of this on the gcj-abi-2-dev-branch.

 > (The ELFClassLoader I wrote about earlier has a similar feature, enabled
 > with setVerbose.)

Ah yes, the ELFClassLoader.

The glibc shared library loader goes to great lengths to prevent a DSO
from being loaded twice.  The only way I can see around this is to
copy the library: simply changing its name by making a link doesn't
work, as the shared library loader checks the inode number.  So, it
looks to me like the ELFClassLoader could turn out to be very useful
indeed.

Andrew.



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