loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
International Symposium on Code Generation and Optimization (CGO'05)
Automatically Reducing Repetitive Synchronization with a Just-in-Time Compiler for Java
San Jose, California
March 20-March 23
ISBN: 0-7695-2298-X
Mark Stoodley, Toronto Lab, IBM Canada Ltd.
Vijay Sundaresan, Toronto Lab, IBM Canada Ltd.
We describe an automatic technique to remove repetitive synchronization in Java™ programs by removing selected MONITORENTER/EXIT operations. Once these operations are removed, parts of a method that were not originally locked become protected by a lock. If it is unsafe to synchronize the code between the original locked regions, however, the code is not transformed. Scalability is also protected by not allowing a lock to be held for a significantly longer time than it would be held in the original program code. Our base algorithm improved the throughput of the industry-standard SPECjbb2000 benchmark by 2% to 5% for three different platforms. We also describe an extension to our algorithm to better handle virtual calls, which are prevalent in Java code, and this extension provides up to a further 5% improvement. Our computationally efficient algorithm was implemented and evaluated in a production Just-In-Time (JIT) compiler.
Citation:
Mark Stoodley, Vijay Sundaresan, "Automatically Reducing Repetitive Synchronization with a Just-in-Time Compiler for Java," cgo, pp.27-36, International Symposium on Code Generation and Optimization (CGO'05), 2005
Usage of this product signifies your acceptance of the Terms of Use.