This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
New ABI progress report
- From: Andrew Haley <aph at redhat dot com>
- To: java at gcc dot gnu dot org
- Date: Thu, 9 Oct 2003 19:17:41 +0100
- Subject: New ABI progress report
I've been working on improving indirect dispatch support. I've now
got it to a point where you can mix compiled and interpreted classes.
The trickiest part was exception handlers, because the current gcj
emits a direct reference to the catch class in the handler tables.
I've changed this so that exception classes are now indirect, the same
as everything else. I've done this unconditionally, so that catch
class references are indirect even in the default compiler. I figure
that there is so much work in catching an exception that a single
additional memory fetch in a catch block will make almost zero
difference.
One bad thing about indirect dispatch as it stands is the way that we
do a lot of linear searches through tables when resolving references.
If er're serious about making indirect dispatch the default case,
we'll have to fix this. I'm thinking that the compiler will have to
build hash tables for methods and field names, or perhaps aoutput a
sorted list ofnames.
There is still some tidying and bug fixing to do, of course.
I think we should have reasonably decent support in 3.4.
Andrew.