Publications

Detailed Information

Efficient Register Mapping and Allocation in LaTTe, an Open-Source Java Just-in-Time Compiler

DC Field Value Language
dc.contributor.authorYang, Byung-Sun-
dc.contributor.authorLee, Junpyo-
dc.contributor.authorLee, SeungIl-
dc.contributor.authorPark, Seongbae-
dc.contributor.authorChung, Yoo C.-
dc.contributor.authorKim, Suhyun-
dc.contributor.authorEbciogulu, Kemal-
dc.contributor.authorAltman, Erik-
dc.contributor.authorMoon, Soo-Mook-
dc.date.accessioned2010-03-25T06:15:57Z-
dc.date.available2010-03-25T06:15:57Z-
dc.date.issued2007-01-
dc.identifier.citationIEEE Transactions on Parallel and Distributed Systems, vol. 18 no. 1, pp. 57-69en
dc.identifier.issn1045-9219-
dc.identifier.urihttps://hdl.handle.net/10371/62003-
dc.descriptionIEEE Transactions on Parallel and Distributed Systems
Volume 18 , Issue 1 (January 2007)
Pages: 57-69
en
dc.description.abstractJava just-in-time (JIT) compilers improve the performance of a Java virtual machine (JVM) by translating Java bytecode into native machine code on demand. One important problem in Java JIT compilation is how to map stack entries and local variables to registers efficiently and quickly, since register-based computations are much faster than memory-based ones, while JIT compilation overhead is part of the whole running time. This paper introduces LaTTe, an open-source Java JIT compiler that performs fast generation of efficiently register-mapped RISC code. LaTTe first maps "all local variables and stack entries into pseudoregisters, followed by real register allocation which also coalesces copies corresponding to pushes and pops between local variables and stack entries aggressively. Our experimental results indicate that LaTTe's sophisticated register mapping and allocation really pay off, achieving twice the performance of a naive JIT compiler that maps all local variables and stack entries to memory. It is also shown that LaTTe makes a reasonable trade-off between quality and speed of register mapping and allocation for the bytecode. We expect these results will also be beneficial to parallel and distributed Java computing 1) by enhancing single-thread Java performance and 2) by significantly reducing the number of memory accesses which the rest of the system must properly order to maintain coherence and keep threads synchronized.en
dc.language.isoenen
dc.publisherInstitute of Electrical and Electronics Engineers (IEEE)en
dc.subjectJava virtual machineen
dc.subjectjust-in-time compilationen
dc.subjectregister mappingen
dc.subjectregister allocationen
dc.subjectcopy coalescing.en
dc.titleEfficient Register Mapping and Allocation in LaTTe, an Open-Source Java Just-in-Time Compileren
dc.typeArticleen
dc.contributor.AlternativeAuthor양병선-
dc.contributor.AlternativeAuthor이준표-
dc.contributor.AlternativeAuthor이승일-
dc.contributor.AlternativeAuthor박성배-
dc.contributor.AlternativeAuthor김수현-
dc.contributor.AlternativeAuthor문수묵-
Appears in Collections:
Files in This Item:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share