Improving Region SelectionThrough Early-Exit Detection
Many Dynamic Binary Translation (DBT) systems and just-in-time compilers target traces, i.e., frequently-taken execution paths, as code regions to be translated/optimized. The Next-Tail-Execution (NET) trace selection method used in HP Dynamo is an early example of such techniques. Many current trace optimization schemes are actually variations of NET. These NET-like trace optimizations work very well for most traces, but they also suffer the same problem: the selected traces may contain a large number of early exits that could branch out in the middle of traces.