Report ID
1999-09
Report Authors
Andrew Duncan and Urs Hï½lzle
Report Date
Abstract
The advantages of virtual machine (VM) execution (dynamically loaded, portableobject files with high-level information) also permit changing the semantics ofexecutables. Load-time adaptation (LTA) intercepts the VM\'s file operationsand modifies object code on the fly, without changing the VM implementation,without needing access to source code, and without changing the actual files.We introduce a new technique, library-based LTA, and show how it can extendlanguages in such ways as adding contracts or mixins to existing classes,providing default code for interfaces, and instantiating parameterized types.We discuss an implementation of library-based LTA and its application toextending Java semantics.
Document
1999-09.ps220.72 KB