loading...
Tailoring Graph-coloring Register Allocation For Runtime Compilation
New York, New York March 26-March 29
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CGO.2006.35International Symposium on Code Gener ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Keith D. Cooper, Rice University
Anshuman Dasgupta, Rice University
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 [7], 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.
Citation:
Keith D. Cooper, Anshuman Dasgupta, "Tailoring Graph-coloring Register Allocation For Runtime Compilation," cgo, pp.39-49, International Symposium on Code Generation and Optimization (CGO'06), 2006
Usage of this product signifies your acceptance of the Terms of Use.