Efficient trace cache management during self-modifying code processing enables selective invalidation of entries of the trace cache, advantageously retaining some of the entries in the trace cache even during self-modifying code events. Instructions underlying trace cache entries are monitored for modification in groups, enabling advantageously reduced hardware. One or more translation ages are associated with each trace cache entry, and are determined when the entry is built by sampling current ages of memory blocks underlying the entry. When the entry is accessed and micro-operations therein are processed, the translation ages of the accessed entry are compared with the current ages of the memory blocks underlying the accessed entry. If any of the age comparisons fail, then the micro-operations are aborted and the entry is invalidated. When any portion of a memory block is modified, the current age of the modified memory block is incremented.
CROSS REFERENCE TO RELATED APPLICATIONS
Priority benefit claims for this application are made in the accompanying Application Data Sheet (if any). To the extent permitted by the type of the instant application, this application incorporates by reference for all purposes the following application(s), which are all owned by the owner of the instant application: U.S. Provisional Application Ser. No. 60/721,385, filed Sep. 28, 2005, first named inventor Leonard Shar, and entitled EFFICIENT TRACE CACHE MANAGEMENT DURING SELF-MODIFYING CODE PROCESSING.