Method and apparatus for varying the level of correctness checks executed when performing correctness checks opportunistically using spare instruction slots

   
   

The present invention provides a method (FIG. 6) and an apparatus that enable spare instruction slots within a code module to be utilized opportunistically for insertion of instructions associated with correctness check functions. During the generation of the initial instruction schedule, the compiler examines the initial instruction schedule and determines locations of spare instruction slots that can potentially be utilized for insertion of the correctness check code sequences. If a sufficient number of spare instruction slots exist to accommodate the correctness check code sequences, the sequences are inserted into the instruction schedule. If an insufficient number of spare instruction slots exist to accommodate a code sequence, the compiler adds additional instruction slots if a sufficient number of additional instruction slots can be added for insertion of the check sequences without exceeding a run-time performance cost tolerance level designated by a user.

La présente invention fournit une méthode (fig. 6) et un appareil qui permettent aux fentes disponibles d'instruction dans un module de code d'être utilisées opportunistically pour l'insertion des instructions se sont associés aux fonctions de contrôle d'exactitude. Pendant la génération du programme initial d'instruction, le compilateur examine le programme initial d'instruction et détermine des endroits des fentes disponibles d'instruction qui peuvent potentiellement être utilisées pour l'insertion des ordres de code de contrôle d'exactitude. Si un nombre suffisant de fentes disponibles d'instruction existent pour adapter aux ordres de code de contrôle d'exactitude, les ordres sont insérés dans le programme d'instruction. Si un nombre insuffisant de fentes disponibles d'instruction existent pour adapter à un ordre de code, le compilateur ajoute des fentes d'instruction additionnelle si un nombre suffisant de fentes d'instruction additionnelle peut être ajouté pour l'insertion des ordres de contrôle sans excéder un niveau de tolérance de coût d'exécution d'exécution indiqué par un utilisateur.

 
Web www.patentalert.com

< Method and apparatus for making and using test verbs

< Mechanism for enabling efficient execution of an instruction

> Virtual machine memory management

> Methods for enhancing program analysis

~ 00173