RFR: JDK-8215196: [Graal] vmTestbase/nsk/jvmti/PopFrame/popframe003/TestDescription.java fails with "changes for the arguments of the popped frame's method, did not remain current argument values"

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Fri Dec 6 23:39:26 UTC 2019


The PopFrame together with RedefineClasses is a part of the JVM TI 
HotSwap feature.
The use case is to hot patch the methods.
If after class redefinition there are still some method frames then the 
PopFrame is an option to "refresh" such frames.
I agree, this is unreliable and dangerous.
But the whole class redefinition feature is somewhat dangerous. :)
It is because the responsibility is on the agents.
And there are many ways for the agents to break the methods execution 
semantics with redefinition.

Thanks,
Serguei


On 12/6/19 14:59, Dean Long wrote:
> This might be a dumb question, but how is PopFrame used in practice? 
> Re-invoking the method, especially with modified argument values seems 
> dangerous.
>
> dl



More information about the serviceability-dev mailing list