Back to Search
Start Over
Quantifying the Benefits of SSA-Based Mobile Code
- Source :
- Electronic Notes in Theoretical Computer Science. 141:103-119
- Publication Year :
- 2005
- Publisher :
- Elsevier BV, 2005.
-
Abstract
- High-performance just-in-time compilers for Java need to invest considerable effort before actual code generation can commence. This is in part due to the very nature of the Java Virtual Machine, which is not well matched to the requirements of optimizing code generators. Alternative transportation formats based on Static Single Assignment form should theoretically be superior to virtual machines, but this claim has not previously been validated in practice. This paper revisits the topic and attempts to quantify the effect of using an SSA-based mobile code representation (IR) instead of a virtual-machine based one.To this end, we have integrated full support for a verifiable SSA-based IR into Jikes RVM, an existing Java execution environment. The resulting system is capable of loading and executing Java programs represented in either format, traditional JVM bytecode as well as the SSA-based representation, and it can even execute programs made up of a mixture of the two formats. In our implementation, the two alternative just-in-time compilation pipelines share a common low-level code generator.Performance results are encouraging and show simultaneous improvements in both compilation time and code quality relative to Jikes RVM's standard optimizing compiler for JVM class files. They support the hypothesis that SSA-based intermediate representations offer advantages in the context of just-in-time compilation.
- Subjects :
- Tracing just-in-time compilation
Source code
General Computer Science
Dead code
Java
Computer science
media_common.quotation_subject
Optimizing compiler
0102 computer and information sciences
02 engineering and technology
Dynamic compilation
computer.software_genre
01 natural sciences
Dead code elimination
Theoretical Computer Science
Compilation error
0202 electrical engineering, electronic engineering, information engineering
Code generation
media_common
computer.programming_language
Mobile code
Programming language
SafeTSA
strictfp
020207 software engineering
Java concurrency
Software quality
Bytecode
Threaded code
Just-in-time compilation
010201 computation theory & mathematics
Virtual machine
single static assignment form
virtual machine
Unreachable code
Compiler
Software_PROGRAMMINGLANGUAGES
Java annotation
computer
Computer Science(all)
Java Modeling Language
Subjects
Details
- ISSN :
- 15710661
- Volume :
- 141
- Database :
- OpenAIRE
- Journal :
- Electronic Notes in Theoretical Computer Science
- Accession number :
- edsair.doi.dedup.....723dd4f6d2e1e02972b01d7909e94b48
- Full Text :
- https://doi.org/10.1016/j.entcs.2005.02.046