Sciweavers

COOTS
2001

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

14 years 1 months ago
Multi-Dispatch in the Java Virtual Machine: Design and Implementation
Mainstream object-oriented languages, such as C++ and Java1 , 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 multidispatch 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, Paul Lu, Duane Szafron, Steve
Added 31 Oct 2010
Updated 31 Oct 2010
Type Conference
Year 2001
Where COOTS
Authors Christopher Dutchyn, Paul Lu, Duane Szafron, Steven Bromling, Wade Holst
Comments (0)