Efficient execution of pure object-oriented programs by follow-up compilation

  • Authors:
  • S. Baskiyar

  • Affiliations:
  • Department of Computer Science & Software Engineering, Auburn University, Auburn, AL

  • Venue:
  • Computing
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic type checking and method binding slows pure object-oriented programs such as those written in Smalltalk. Dynamic method lookup is needed to support method overriding and type-method conformance. We have developed a platform independent technique that implements method overriding efficiently for pure object-oriented languages. The technique involves binding non-overridden method calls at compile time. The overridden method calls are also resolved (and bound) statically using simple inferences. Overridden method bindings are corrected dynamically using an Overridden Method Dictionary. Using simulations, we demonstrate that this technique offers 35%-70% reduction in the average method lookup delay over the Berkeley Smalltalk implementation. This technique has very low compile time overhead, memory overhead, does not need specialized hardware and allows shared code pages in concurrent programs. For programs which may be re-used, it is proper to have a follow-up compilation to generate efficient code after the program development is complete.