Thomas Wuerthinger (email@example.com) - Sun
The current hotswapping mechanism in the HotSpot VM only allows changing the bodies of methods at runtime. We are working on an approach that allows arbitrary changes. This talk is about our experiences implementing a prototype in HotSpot that supports adding and deleting of methods and fields as well as performing changes to the class hierarchy. What are the conditions for dynamic code evolution to have a clear semantics and what kind of changes should be forbidden? What are meaningful applications of dynamic code evolution for Java and their requirements? The talk will conclude with ideas for future work to make dynamic code evolution stable and performant.
This project is part of a long-term collaboration between the HotSpot compiler group at Sun Microsystems and the Institute of System Software at the Johannes Kepler University Linz.
For a list of publications that were results of this collaboration (topics include SSA form, linear scan register allocation, ABCE, object inlining, escape analysis, compiler graph visualization tools) see:
Key Issues for Discussion
(please expand cooperatively)