The inventive mechanism provides fast profiling and effective trace
selection. The inventive mechanism partitions the work between hardware
and software. The hardware automatically detects which code is executed
very frequently, e.g. which code is hot code. The hardware also maintains
the branch history information. When the hardware determines that a
section or block of code is hot code, the hardware sends a signal to the
software. The software then forms the trace from the hot code, and uses
the branch history information in making branch predictions.
Le mécanisme inventif fournit rapidement le profilage et le choix efficace de trace. Le mécanisme inventif divise le travail entre le matériel et le logiciel. Le matériel détecte automatiquement quel code est exécuté très fréquemment, par exemple que le code est code chaud. Le matériel maintient également l'information d'histoire de branche. Quand le matériel détermine qu'une section ou un bloc de code est code chaud, le matériel envoie un signal au logiciel. Le logiciel forme alors la trace du code chaud, et emploie l'information d'histoire de branche en faisant des prévisions de branche.