Enhanced HotSwapping

Thomas Wuerthinger thomas.wuerthinger at gmail.com
Sat Dec 18 03:16:24 PST 2010


The enhanced hotswapping can be triggered using either the low-level 
JNI/JVMTI interface, class file transformers, or the JDWP debugger 
interface. There is no API change compared to the restricted hotswapping.

We are currently working on providing a Java API too. In our 
implementation of dynamic mixins for Java 
(http://ssw.jku.at/dcevm/mixins/), we are using such a Java API to 
directly trigger the class redefinition from Java code. Our mixin 
implementation allows to dynamically add an interface and its 
implementation to an existing class.

- thomas



On 12/18/10 5:49 AM, Chanwit Kaewkasi wrote:
> Hello Thomas,
>
> It looks cool, and thank you for binaries.
> Is this working through the debugger interface or JVMTI agents?
>
> Regards,
>
> Chanwit
>
> On Sat, Dec 18, 2010 at 00:56, Thomas Wuerthinger
> <thomas.wuerthinger at gmail.com>  wrote:
>> The source code for the HotSpot version that allows enhanced hotswapping
>> (e.g., add and remove methods, fields, and super types) was just updated
>> in the mlvm repository. There exists now also a light version of the
>> modifications "hotswaplight.patch" that minimizes the difference to the
>> current OpenJDK source code by omitting some of the more advanced
>> features (e.g., method forwarding, calling deleted old methods,
>> transformer methods). The enhanced VM passes all tests of Oracle's class
>> redefinition test suite and comes with unit tests for the new features.
>>
>> There are binary builds available from "http://ssw.jku.at/dcevm" for
>> Mac, Linux, and Windows. So, feel free to install a VM with the new
>> hotswapping capabilities on your machine and test them using your
>> favorite Java IDE.
>>
>> - thomas
>> _______________________________________________
>> mlvm-dev mailing list
>> mlvm-dev at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>>
>
>



More information about the mlvm-dev mailing list