An architectural alternative to optimizing compilers

  • Authors:
  • Samuel P. Harbison

  • Affiliations:
  • Carnegie-Mellon University, Computer Science Department

  • Venue:
  • ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
  • Year:
  • 1982

Quantified Score

Hi-index 0.01

Visualization

Abstract

Programming languages are designed to make programming productive. Computer architectures are designed to make program execution efficient. Although architectures should be designed with programming languages in mind, it may be as inappropriate to make the computer execute the programming language directly it is to make the programmer use machine language. It is the compiler's job to match the programming language and the computer architectures, and therefore making compiler's efficient and easy to write are important design goals of a complete hardware/software system. This paper summerizes research completed in 1980 [5] on a computer architecture, TM, that takes over some of the more burdensome tasks of optimizing compilers for high-level-languages (HLL's), performing these tasks dynamically during the execution of the object program. This is a different approach to making compilers efficient than is commonly taken; more common approaches include devising more efficient optimization algorithms[I], being clever about when to do optimizations [4], and building the compilers semiautomatically [6].