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]

Re: need to focus on java performance?


Bryce McKinlay writes:
 > Andrew Haley wrote:
 > > Once the class was initialized, you'd need to rewrite the
 > > instructions in the trampolines to point to the static methods
 > > that don't do class initialization.  While all this was going on,
 > > there still would be threads jumping to these trampolines.
 > > However, these trampolines are not themseolves protected by
 > > locks, and there's no guarantee that you can rewrite the
 > > instructions atomically.  So, you'd run the risk of a partially
 > > rewritten instruction being executed.  If you can rewrite the
 > > trampolines atomically then I think you might be OK.
 > 
 > Why rewrite the trampolines? Once a class is initialized, its
 > atable entries are updated to point to the real function. Swapping
 > function pointers in the atable is atomic.

Ah, OK, you're fixing up the caller's pointers rather than anything in
the target.  I can see that would work, but there are potentially many
atable entries in many classes pointing to a static method.  Also,
you'd need a fast way to find the caller.

Andrew.


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