This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: invokespecial on abstract method
- From: Bryce McKinlay <bryce at mckinlay dot net dot nz>
- To: Erik Poupaert <erik dot poupaert at freestyler-toolkit dot org>
- Cc: aph at redhat dot com, gcj at stuellenberg dot de, java at gcc dot gnu dot org
- Date: Sat, 04 Oct 2003 14:57:28 +1200
- Subject: Re: invokespecial on abstract method
- References: <20031003173809.5d196b57.erik.poupaert@freestyler-toolkit.org>
Erik Poupaert wrote:
I'm sure it wouldn't be hard for Sun to make their VM fully evaluate all linkage before running anything, if they wanted to do that. But by design, Java doesn't.
In terms of optimizing performance/footprints ahead-of-time, is there a cost associated to late linking? I somehow guess there is.
Our tests so far have shown that the performance impact of the
BC-ABI/-findirect-dispatch is somewhere between zero and "minimal". See:
http://flint.cs.yale.edu/flint/publications/bincomp.html
In terms of resident memory footprint with dynamic linking, I think we
will be able to do significantly better with the new ABI by reducing the
amount of data in the shared library that is touched by the linker
during application startup.
In many ways we will do significantly better than the dynamic linker
does. Startup time is certainly one, and static method calls will be
another - the PLT is very inefficient!
More likely than not, this strategy of late linking may complicate other ongoing efforts that focus on these optimizations.
Nope. The BC-ABI will help reduce binary size, resident footprint, and
startup time. Not the other way around!
There may be enormous advantages in doing exactly the opposite of what Sun does.
I don't think so. Having to recompile all your binaries if you want to
upgrade to a newwer version of libgcj is an enormous disadvantage.
Certainly there are situations, like creating a static Java images for
embedded applications (perhaps against a J2ME "libgcj-lite"), where you
would want to retain the existing linking model. Like Andrew says, its
not going away.
Regards,
Bryce