{"title":"Annotating Java libraries in support of whole-program optimization","authors":"Michael Thies","doi":"10.1145/638476.638510","DOIUrl":null,"url":null,"abstract":"Optimizing just-in-time compilation of Java programs depends on information gained from state-of-the-art program analysis techniques. To avoid extensive analysis at program execution time, analysis results for the available parts of a program can be precomputed at compile time and then combined at runtime. Program analyses operate on isolated program modules like libraries and annotate them with information that can be post-processed efficiently. We have applied this approach to several concrete analysis problems and have analyzed real world Java libraries and application programs. The precomputed information shows low complexity and benign dependency structures that allow for fast composition and effective optimization at runtime.","PeriodicalId":120999,"journal":{"name":"PPPJ/IRE","volume":"74 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2002-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"PPPJ/IRE","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/638476.638510","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Optimizing just-in-time compilation of Java programs depends on information gained from state-of-the-art program analysis techniques. To avoid extensive analysis at program execution time, analysis results for the available parts of a program can be precomputed at compile time and then combined at runtime. Program analyses operate on isolated program modules like libraries and annotate them with information that can be post-processed efficiently. We have applied this approach to several concrete analysis problems and have analyzed real world Java libraries and application programs. The precomputed information shows low complexity and benign dependency structures that allow for fast composition and effective optimization at runtime.