Fast class reloading

David Holmes David.Holmes at oracle.com
Wed Jun 2 18:20:51 PDT 2010


Igor Adam Klimer said the following on 06/02/10 23:16:
>> An agent can only use functionality exposed by the VM and there is
>> no VM functionality in existence to do what you want. This has to
>> be supported by the VM (after which it could be exposed to agents).
>> 
> 
> Yes, but from what I understood an agent can also modify the VM's
> classes - so the idea was to exploit that (eh, "exploit" has a bad
> sound to it ;)) and modify the VM so that it does include the
> functionality we need. Does this idea seem reasonable to you? Of
> course, it would be hard to maintain such "patches", but it would
> take the burden of installing a custom VM from the users.

That's exactly what I said above. First you have to add the 
functionality you want to the JVM, then you need to make that 
functionality available to the agent. Your users will still need your 
customized VM.

At present class JVMTI class redefinition is limited in ways that don't 
meet your list of requirements:

"The redefinition may change method bodies, the constant pool and 
attributes. The redefinition must not add, remove or rename fields or 
methods, change the signatures of methods, change modifiers, or change 
inheritance."

David


More information about the hotspot-runtime-dev mailing list