This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: need to focus on java performance?
Bryce McKinlay wrote:
David Daney wrote:
The calling method's address is in the standard location (as
specified by the ABI), we know how to find the class given this
information.
Finding the method's address is easy enough, but what about the
address of the atable entry containing the pointer to the method?
Isn't the atable part the the calling method's class? The stack trace
infrastructure allows you to find the class of a method given an IP that
is contained by the method.
Thats what needs to be patched. Also, patching all the callers for a
given class at once would mean we can drop all the unneeded
trampolines, saving memory.
There is usually a trade off between memory usage and speed. You could
walk all atables and clean them up if you wanted to. The only time this
would matter would be if you were about to do a GC.
We need a pre-mark hook into the GC so that we could patch up the atable
entries for all classes that had been initialized since the last GC
cycle. After application startup there probably would be very few GC
cycles where any action would be needed, so the overhead would be low.
David Daney.