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.
Similar content being viewed by others
Author information
Authors and Affiliations
Additional information
Received November 7, 2001; revised March 27, 2002 Published online: October 24, 2002
Rights and permissions
About this article
Cite this article
Baskiyar, S. Efficient Execution of Pure Object-Oriented Programs by Follow-up Compilation. Computing 69, 273–289 (2002). https://doi.org/10.1007/s00607-002-1453-1
Issue Date:
DOI: https://doi.org/10.1007/s00607-002-1453-1