CISL: a class-based machine description language for co-generation of compilers and simulators

  • Authors:
  • J. Eliot B. Moss;Trek Palmer;Timothy Richards;Edward K. Walters, II;Charles C. Weems

  • Affiliations:
  • Department of Computer Science, University of Massachusetts Amherst, Amherst, MA;Department of Computer Science, University of Massachusetts Amherst, Amherst, MA;Department of Computer Science, University of Massachusetts Amherst, Amherst, MA;Department of Computer Science, University of Massachusetts Amherst, Amherst, MA;Department of Computer Science, University of Massachusetts Amherst, Amherst, MA

  • Venue:
  • International Journal of Parallel Programming - Special issue: The next generation software program
  • Year:
  • 2005

Quantified Score

Hi-index 0.02

Visualization

Abstract

It is currently difficult fully to understand the performance of a modern dynamic programming language system, such as Java. One must observe execution in the context of specific architectures in order to evaluate the effects of optimizations. To do this we require simulators and compiler back-ends for a wide variety of machines that are capable of handling the demands of today's dynamically compiled languages and their environments. We introduce here CISL, a machine description language specifically designed for the automatic generation of simulators and compiler back-end. CISL is a class-based language with a C/Java style syntax aimed at extensibility. CISL is processed by tools to generate descriptions of architectures represented in an intermediate form; the descriptions are then further combined and processed to produce efficient compiler and simulator components designed to "plug in" to existing frameworks. CISL provides the necessary flexibility to advance the simulation paradigm to match the state of the art in computer systems.