Stream-Based Dynamic Compilation for Object-Oriented Languages

  • Michael Bebenita
  • Mason Chang
  • Andreas Gal
  • Michael Franz
Conference paper

DOI: 10.1007/978-3-642-02571-6_6

Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 33)
Cite this paper as:
Bebenita M., Chang M., Gal A., Franz M. (2009) Stream-Based Dynamic Compilation for Object-Oriented Languages. In: Oriol M., Meyer B. (eds) Objects, Components, Models and Patterns. TOOLS EUROPE 2009. Lecture Notes in Business Information Processing, vol 33. Springer, Berlin, Heidelberg

Abstract

Traditional just-in-time compilers operate at the granularity of methods. Compiling a method in such a compiler is an atomic operation that can require substantial amounts of processing time, resulting in execution pauses in interactive computing environments. We describe a new software architecture for dynamic compilers in which the granularity of compilation steps is much finer, forming a “pipeline” with completely linear runtime behavior, and in which there are only two write barriers. This means that on future many-core platforms, the compiler itself can be parallelized, providing high-throughput dynamic compilation without execution pauses. As our prototype for Java demonstrates, stream-based compilation lends itself very naturally to an object-oriented implementation.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Michael Bebenita
    • 1
  • Mason Chang
    • 1
  • Andreas Gal
    • 1
  • Michael Franz
    • 1
  1. 1.University of CaliforniaIrvine

Personalised recommendations