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]

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.


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