Affiliation:
1. Microsoft Research, Redmond, WA
Abstract
We present a new technique for removing unnecessary synchronization operations from statically compiled Java programs. Our approach improves upon current efforts based on escape analysis, as it can eliminate synchronization operations even on objects that escape their allocating threads. It makes use of a compact, equivalence-class-based representation that eliminates the need for fixed point operations during the analysis.
We describe and evaluate the performance of an implementation in the
Marmot native Java compiler. For the benchmark programs examined, the optimization removes 100% of the dynamic synchronization operations in single-threaded programs, and 0-99% in multi-threaded programs, at a low cost in additional compilation time and code growth.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
23 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. When threads meet events: efficient and precise static race detection with origins;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
2. How Are Performance Issues Caused and Resolved?-An Empirical Study from a Design Perspective;Proceedings of the ACM/SPEC International Conference on Performance Engineering;2020-04-20
3. Butterfly Space: An Architectural Approach for Investigating Performance Issues;2020 IEEE International Conference on Software Architecture (ICSA);2020-03
4. Tapir;ACM Transactions on Parallel Computing;2019-12-26
5. PYE;ACM Transactions on Programming Languages and Systems;2019-07-20