2020International journal of open information technologiesOpen access

A Survey of JIT-Compilation Technologies

Sergey Postnov

Open full text 0 citations

Abstract

This survey focuses on the principles of JIT compilation (just-in-time compilation) of programs. Briefly discusses the history of the development of technologies for dynamic compilation of programs in different programming languages. The implementation of JIT compilation technology in Java virtual machines is discussed in detail. The classification of JIT compilers is given. The basic JIT compilation technology, its features, and examples of its implementation in compilers for the Java language are described. The potentially achievable complexity and degree of optimization of the compilation order are discussed. A comparison is made between JIT compilation and binary dynamic compilation. Attention is paid to the security risks inherent in the JIT compiler. In particular, we analyze vulnerabilities of JIT compilers in relation to code implementation and reuse attacks. Measures to counter this type of attack are described. An overview of modern principles for developing JIT compilers, including using machine learning methods, is given.

About this research paper

What this paper is about

This survey focuses on the principles of JIT compilation (just-in-time compilation) of programs. Briefly discusses the history of the development of technologies for dynamic compilation of programs in different programming languages. The implementation of JIT compilation technology in Java virtual machines is discussed in detail. The classification of JIT compilers is given. The basic JIT compilation technology, its features, and examples of its implementation in compilers for the Java language are described. The potentially achievable complexity and degree of optimization of the compilation order are discussed. A comparison is made between JIT compilation and binary dynamic compilation. Attention is paid to the security risks inherent in the JIT compiler. In particular, we analyze vulnerabilities of JIT compilers in relation to code implementation and reuse attacks. Measures to counter this type of attack are described. An overview of modern principles for developing JIT compilers, including using machine learning methods, is given.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

This survey focuses on the principles of JIT compilation (just-in-time compilation) of programs. Briefly discusses the history of the development of technologies for dynamic compilation of programs in different programming languages. The implementation of JIT compilation technology in Java virtual machines is discussed in detail. The classification of JIT compilers is given. The basic JIT compilation technology, its features, and examples of its implementation in compilers for the Java language are described. The potentially achievable complexity and degree of optimization of the compilation order are discussed. A comparison is made between JIT compilation and binary dynamic compilation. Attention is paid to the security risks inherent in the JIT compiler. In particular, we analyze vulnerabilities of JIT compilers in relation to code implementation and reuse attacks. Measures to counter this type of attack are described. An overview of modern principles for developing JIT compilers, including using machine learning methods, is given.

Key concepts: Just-in-time compilation, Compiler, Computer science, Dynamic compilation, Programming language, Reuse, Java, Engineering

Related papers

Back to paper searchBrowse research topicsOriginal source
A Survey of JIT-Compilation Technologies — Research Paper | ScholarLens