need to focus on java performance?
David Daney
ddaney@avtrex.com
Thu May 25 16:04:00 GMT 2006
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.
More information about the Java
mailing list