A compiler (142) constructs (FIGS. 14-32) a Reduced Flowgraph (RFG) from computer source code (144). The RFG is used to instrument (FIG. 36) code (142). An object module is created (146) and executed (148). Resulting path frequency counts are written to a counts file (154). A compiler (158) uses the source code (144) and the generated counts to identify runtime correlations between successive path edges and Superedges. An object module (159) is generated containing reordered (156) code generated to optimize performance based on the runtime correlations. If cloning is enabled (152), high frequency path edges are cloned (154) or duplicated to minimize cross edge branching.

Ένας μεταγλωττιστής (142) κατασκευάζει (αριθμοί 14-32) ένα μειωμένο Flowgraph (RFG) από τον κώδικα πηγής υπολογιστών (144). Το RFG χρησιμοποιείται στο όργανο (σχέδιο 36) κώδικας (142). Μια ενότητα αντικειμένου δημιουργείται (146) και εκτελείται (148). Οι προκύπτουσες αριθμήσεις συχνότητας πορειών γράφονται σε ένα αρχείο αριθμήσεων (154). Ένας μεταγλωττιστής (158) χρησιμοποιεί τον κώδικα πηγής (144) και τις παραγμένες αριθμήσεις για να προσδιορίσει τους συσχετισμούς χρόνου εκτέλεσης μεταξύ των διαδοχικών ακρών πορειών και Superedges. Μια ενότητα αντικειμένου (159) παράγεται περιέχοντας τον ξαναπαραγγαλμένο (156) κώδικα που παράγεται για να βελτιστοποιήσει την απόδοση βασισμένη στους συσχετισμούς χρόνου εκτέλεσης. Εάν η κλωνοποίηση επιτρέπεται (152), οι άκρες πορειών υψηλής συχνότητας κλωνοποιούνται (154) ή αναπαράγονται για να ελαχιστοποιήσουν τη διαγώνια διακλάδωση ακρών.

 
Web www.patentalert.com

< (none)

< Line-oriented reorder buffer configured to selectively store a memory operation result in one of the plurality of reorder buffer storage locations corresponding to the executed instruction

> Metallocene compositions

> (none)

~ 00034