Optimising hot paths in a dynamic binary translator

  • Authors:
  • David Ung;Cristina Cifuentes

  • Affiliations:
  • Department of Computer Science and Electrical Engineering, University of Queensland OLD, Australia;Sun Microsystems Inc.

  • Venue:
  • ACM SIGARCH Computer Architecture News
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

In dynamic binary translation, code is translated "on the fly" at run-time, while the user perceives ordinary execution of the program on the target machine. Code fragments that are frequently executed follow the same sequence of flow control over a period of time. These fragments form a hot path and are optimised to improve the overall performance of the program.Multiple hot paths may also exist in programs. A program may choose to execute in one hot path for some time, but later switch to another hot path, or even cycle between hot paths. Hence, each hot path is able to capture the most frequent execution pattern for a particular run-time stage of the program. The end result is that scattered code is collected, merged and optimised in a special way.In this paper we describe the optimisations performed by UQDBT - a machine-adaptable dynamic binary translator. We provide an algorithm for finding hot paths using edge weight profiles, and we explain how to optimise code in a machine-independent way, based on hot path information.