Patent · US Expired

Method for selecting active code traces for translation in a caching dynamic translator

US6351844B1 · kind B1 · utility

189Cited by
5References
10Claims
0Family size

Assignee

Inventor

Key dates

Filing dateNov 5, 1998
Grant dateFeb 26, 2002
Priority date
Expiry dateNov 5, 2018

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F11/3466
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

A method is shown for selecting active, or hot, code traces in an executing program for storage in a code cache. A trace is a sequence of dynamic instructions characterized by a start address and a branch history which allows the trace to be dynamically disassembled. Each trace is terminated by execution of a trace terminating condition which is a backward taken branch, an indirect branch, or a branch whose execution causes the branch history for the trace to reach a predetermined limit. As each trace is generated by the executing program, it is loaded into a buffer for processing. When the buffer is full, a counter corresponding to the start address of each trace is incremented. When the count for a start address exceeds a threshold, then the start address is marked as being hot. Each hot trace is then checked to see if the next trace in the buffer shares the same start address, in which case the hot trace is cyclic. If the start address of the next trace is not the same as the hot trace, then the traces in the buffer are checked to see they form a larger cycle of execution. If the traces subsequent to the hot trace are not hot themselves and are followed by a trace having the sam…

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.