ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Dynamic recompilation and profile-guided optimisations for a .NET JIT compiler

Vaswani, K and Srikant, YN (2003) Dynamic recompilation and profile-guided optimisations for a .NET JIT compiler. In: IEE Proceedings-Software, 150 (5). pp. 296-302.

[img] PDF
82.pdf
Restricted to Registered users only

Download (252kB) | Request a copy

Abstract

The paper describes the design and implementation of an adaptive recompilation framework for Rotor, a shared source implementation of the common language infrastructure (CLI) that can increase program performance through intelligent recompilation decisions and optimisations based on the program’s past behaviour. Our extensions to Rotor include a low overhead run-time-stack based sampling profiler that identifies program hotspots. At the first level of optimisation, the compiler uses a fast yet effective linear scan algorithm for register allocation. Hot methods can be instrumented to collect basic-block, edge and call-graph profile information. Profile-guided optimisations driven by online profile information are used to further optimize heavily executed methods at the second level of recompilation. An evaluation of the framework using a set of test programs shows that performance can improve by a maximum of 42.3% and by 9% on average. Our results also show that the overheads of collecting accurate profile information through instrumentation to an extent outweigh the benefits of profile-guided optimisations in our implementation, suggesting the need for implementing techniques that can reduce such overheads. A flexible and extensible framework design implies that additional profiling and optimization techniques can easily be incorporated to further improve performance.

Item Type: Journal Article
Publication: IEE Proceedings-Software
Publisher: IEE
Additional Information: Copyright of this article belongs to IEE.
Department/Centre: Division of Electrical Sciences > Computer Science & Automation
Date Deposited: 16 Apr 2007
Last Modified: 19 Sep 2010 04:37
URI: http://eprints.iisc.ac.in/id/eprint/10584

Actions (login required)

View Item View Item