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