Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

Multi-Dispatch in the Java Virtual Machine: Design and Implementation

Mainstream object-oriented languages, such as C++ and Java, provide only a restricted form of polymorphic methods, namely uni-receiver dispatch. In common programming situations, developers must work around this limitation. We describe how to extend the Java Virtual Machine to support multi-dispatch and examine the complications that Java imposes on multi-dispatch in practice. Our technique avoids changes to the Java programming language itself, maintains source code and library compatibility, and isolates the performance penalty and semantic changes of multi-method dispatch to the program sections which use it. We have micro-benchmark and application-level performance results for a dynamic Most Specific Applicable (MSA) dispatcher, a framework-based Single Receiver Projections (SRP) dispatcher, and a tuned SRP dispatcher. Our general-purpose technique provides smaller dispatch latency than programmer-written double-dispatch code with equivalent functionality.

Christopher Dutchyn, University of Alberta, Canada

Paul Lu, University of Alberta, Canada

BibTeX
@inproceedings {271058,
author = {Christopher Dutchyn and Paul Lu},
title = {{Multi-Dispatch} in the Java Virtual Machine: Design and Implementation},
booktitle = {6th USENIX Conference on Object-Oriented Technologies and Systems (COOTS 01)},
year = {2001},
address = {San Antonio, TX},
url = {https://www.usenix.org/conference/coots-01/multi-dispatch-java-virtual-machine-design-and-implementation},
publisher = {USENIX Association},
month = jan
}
Download

Links

Paper: 
http://www.usenix.org/events/coots01/dutchyn/dutchyn.pdf
Paper (HTML): 
http://www.usenix.org/events/coots01/dutchyn/dutchyn_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us