Bidirectional object layout for separate compilation

  • Authors:
  • Andrew C. Myers

  • Affiliations:
  • MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA

  • Venue:
  • Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Existing schemes for object layout and dispatch in the presence of multiple inheritance and separate compilation waste space and are slower than systems with single inheritance. This paper describes the bidirectional object layout, a new scheme for object layout that produces smaller objects and faster method invocations than existing schemes by automatically optimizing particular uses of multiple inheritance. The bidirectional object layout is used for the programming language Theta, and is applicable to languages like C++. This paper also demonstrates how to efficiently implement method dispatch when method signatures are allowed to change in subclasses. Most current statically compiled languages require identical signatures for efficiency.