Abstrakt. För att resonera om hela programmet beteende, dynamiska optimerare och analysverktyg samla en dynamisk anrop graf med hjälp av provtagning. Tidigare metoder har inte uppnått hög noggrannhet med låg drifttid overhead, och detta problem kommer sannolikt att bli mer utmanande som objektorienterade programmerare allt mer komponera komplexa program. Detta papper visar hur man använder statiska och dynamiska kontrollflödesdiagram (CFG) begränsningar för att förbättra noggrannheten i den dynamiska anropsgrafen (DCG). Vi introducerar frekvensdominatorn (FDOM) som är en ny CFG-relation som utökar Dominator-relationen för att exponera relativa exekveringsfrekvenser för basblock. Vi kombinerar bevarande av flöden och dynamiska CFG grundläggande blockprofiler för att ytterligare förbättra noggrannheten hos DCG. Tillsammans tillför dessa metoder minimala omkostnader (1%) och uppnå 85% noggrannhet jämfört med en perfekt anropskurva för SPEC JVM98 och DaCapo-riktmärken. Jämfört med enbart provtagning förbättras noggrannheten med 12 till 36 %. Dessa resultat visar att statisk och dynamisk kontrollflödesinformation ger korrekt information för att effektivt förbättra DCG.
Ett nyare arbete som utförs av REF utnyttjar ett programs kontrollflöde begränsningar för att förbättra noggrannheten i dynamiska samtal grafer från en provprofil.
Correcting the Dynamic Call Graph Using Control Flow Constraints
{'venue': 'In International Conference on Compiler Construction', 'journal': None, 'mag_field_of_study': ['Computer Science']}