Font Size: a A A

Multi-dispatch in the Java virtual machine: Design, implementation, and evaluation

Posted on:2003-04-02Degree:M.ScType:Dissertation
University:University of Alberta (Canada)Candidate:Dutchyn, Christopher JohnFull Text:PDF
GTID:1468390011987921Subject:Computer Science
Abstract/Summary:
Mainstream object-oriented programming languages, such as Java and C++, offer only a restricted form of dynamic polymorphic method selection, namely single-receiver dispatch. Several common programming patterns require developers to circumvent this limitation with additional, awkward, and type-specific code. This dissertation investigates the more general facility of multiple dispatch within the Java environment. We describe Java syntax that permits the programmer to enable multiple dispatch while retaining compatibility with existing single dispatch Java source and binary programs. We develop the semantics of multiple dispatch within the dynamic, reflective, and secure Java programming model. We describe an extension to the Java Virtual Machine that implements our programmer-directed multiple dispatch and retains compatibility with single dispatch Java programs and libraries. We demonstrate that our implementation imposes negligible time penalties on existing programs, yet offers the general multiple dispatch facility with performance equal to programmer-tuned double dispatch.
Keywords/Search Tags:Dispatch, Java
Related items