Fast algorithms for compressed multimethod dispatch table generation

  • Authors:
  • Eric Dujardin;Eric Amiel;Eric Simon

  • Affiliations:
  • Sun Microsystems, St Quentin-en-Yvelines, France;Cambridge Technology Partners, Geneva, Switzerland;INRIA, Le Chesnay, France

  • Venue:
  • ACM Transactions on Programming Languages and Systems (TOPLAS)
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

The efficiency of dynamic dispatch is a major impediment to theadoption of multimethods in object-oriented languages. In thisarticle, we propose a simple multimethod dispatch scheme based oncompressed dispatch tables. This scheme is applicable to anyobject-oriented language using a method precedence order thatsatisfies a specific monotonous property (e.g., as Cecil and Dylan)and guarantees that dynamic dispatch is performed in constant time,the latter being a major requirement for some languages andapplications. We provide efficient algorithms to build the dispatchtables, provide their worst-case complexity, and demonstrate theeffectiveness of our scheme by real measurements performed on twolarge object-oriented applications. Finally, we provide a detailedcomparison of our technique with other existing techniques.