Deutsch
 
Hilfe Datenschutzhinweis Impressum
  DetailsucheBrowse

Datensatz

DATENSATZ AKTIONENEXPORT
  Escape Analysis for Java (TM) : Theory and Practice

Blanchet, B. (2003). Escape Analysis for Java (TM): Theory and Practice. ACM Transactions on Programming Languages and Systems, 25(6), 713-775.

Item is

Externe Referenzen

einblenden:

Urheber

einblenden:
ausblenden:
 Urheber:
Blanchet, Bruno1, Autor           
Affiliations:
1Static Analysis, MPI for Informatics, Max Planck Society, ou_1116553              

Inhalt

einblenden:
ausblenden:
Schlagwörter: -
 Zusammenfassung: Escape analysis is a static analysis that determines whether the lifetime of data may exceed its static scope. This paper first presents the design and correctness proof of an escape analysis for Java\textsuperscript{TM}. This analysis is interprocedural, context sensitive, and as flow sensitive as the static single assignment form. So, assignments to object fields are analyzed in a flow-insensitive manner. Since Java is an imperative language, the effect of assignments must be precisely determined. This goal is achieved thanks to our technique using two interdependent analyses, one forward, one backward. We introduce a new method to prove the correctness of this analysis, using aliases as an intermediate step. We use integers to represent the escaping parts of values, which leads to a fast and precise analysis. Our implementation, which applies to the whole Java language, is then presented. Escape analysis is applied to stack allocation and synchronization elimination. In our benchmarks, we stack allocate 13\% to 95\% of data, eliminate more than 20\% of synchronizations on most programs (94\% and 99\% on two examples) and get up to 43\% runtime decrease (21\% on average). Our detailed experimental study on large programs shows that the improvement comes more from the decrease of the garbage collection and allocation times than from improvements on data locality, contrary to what happened for ML. This comes from the difference in the garbage collectors.

Details

einblenden:
ausblenden:
Sprache(n): eng - English
 Datum: 2004-07-062003
 Publikationsstatus: Erschienen
 Seiten: -
 Ort, Verlag, Ausgabe: -
 Inhaltsverzeichnis: -
 Art der Begutachtung: Expertenbegutachtung
 Identifikatoren: eDoc: 520657
Anderer: Local-ID: C1256BDD001D715B-14E2CD2C27C35754C1256D10002F4D43-Blanchet2003
 Art des Abschluß: -

Veranstaltung

einblenden:

Entscheidung

einblenden:

Projektinformation

einblenden:

Quelle 1

einblenden:
ausblenden:
Titel: ACM Transactions on Programming Languages and Systems
Genre der Quelle: Zeitschrift
 Urheber:
Affiliations:
Ort, Verlag, Ausgabe: -
Seiten: - Band / Heft: 25 (6) Artikelnummer: - Start- / Endseite: 713 - 775 Identifikator: ISSN: 0164-0925