Targeting Dynamic Compilation for Embedded Environments

Abstract

A generally held notion is that high quality code comes with high compilation cost. As a result, previous efforts at minimizing dynamic compilation costs have focused on designing fast, lightweight compilers that sacrifice code quality for compilation speed, and resource intensive approaches that combine multiple engines to limit expensive optimizations to critical sections. In this paper, we show one possible way fast compilers can be constructed to generate high quality code. We have implemented microJIT, a small and portable just-in-time (JIT) compiler for Java that can produce high quality code 2.5x faster than a comparable dataflow-based compiler and 30% faster than a compiler that performs only limited optimizations. We use dataflow techniques, but speed up compilation by minimizing the number of major compiler passes given the number of optimizations performed. Architectural features of our compiler also allow it to perform instruction set dependent optimizations efficiently. MicroJIT achieves these high compilation rates while still maintaining small static and dynamic memory requirements. This compiler can be highly effective in an embedded system where computing and memory resources are highly constrained and where multiple target platforms must be supported.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jul 01, 2001
Accession Number
ADA419605

Entities

People

  • Kunle Olukotun
  • Michael Chen

Organizations

  • Stanford University

Tags

Communities of Interest

  • Counter WMD
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Compilers
  • Computations
  • Computer Programming
  • Computer Programs
  • Computers
  • Computing System Architectures
  • Data Sets
  • Embedded Systems
  • Fluid Dynamics
  • Instruction Set Architecture
  • Java Programming Language
  • Object Code
  • Optimization
  • Programming Languages
  • Tablet Computers
  • Virtual Machines

Fields of Study

  • Computer science

Readers

  • Distributed Systems and Data Platform Development
  • Parallel and Distributed Computing.