Title :
Tailoring graph-coloring register allocation for runtime compilation
Author :
Cooper, Keith D. ; Dasgupta, Anshuman
Author_Institution :
Rice Univ., Houston, TX, USA
Abstract :
Just-in-time compilers are invoked during application execution and therefore need to ensure fast compilation times. Consequently, runtime compiler designers are averse to implementing compile-time intensive optimization algorithms. Instead, they tend to select faster but less effective transformations. In this paper, we explore this trade-off for an important optimization - global register allocation. We present a graph-coloring register allocator that has been redesigned for runtime compilation. Compared to Chaitin-Briggs (1994), a standard graph-coloring technique, the reformulated algorithm requires considerably less allocation time and produces allocations that are only marginally worse than those of Chaitin-Briggs. Our experimental results indicate that the allocator performs better than the linear-scan and Chaitin-Briggs allocators on most benchmarks in a runtime compilation environment. By increasing allocation efficiency and preserving optimization quality, the presented algorithm increases the suitability and profitability of a graph-coloring register allocation strategy for a runtime compiler.
Keywords :
graph colouring; optimising compilers; resource allocation; compile-time intensive optimization algorithms; graph-coloring register allocation tailoring; graph-coloring register allocator; just-in-time compilers; runtime compilation; Algorithm design and analysis; Costs; Design optimization; Java; Optimizing compilers; Profitability; Program processors; Runtime environment; Virtual machining; Virtual manufacturing;
Conference_Titel :
Code Generation and Optimization, 2006. CGO 2006. International Symposium on
Print_ISBN :
0-7695-2499-0
DOI :
10.1109/CGO.2006.35