<div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><div>Keep in mind two things:</div>
<div><br>
</div>
<div>1. Dynamically loaded agents are more limited in their capabilities than agents loaded at startup because redefinition/retransformation is limited to changing the body of existing methods. Redefinition can only fix issues if you’re lucky.</div>
<div><br>
</div>
<div>2. Java offers no general mechanism to make patches applied through redefinition persistent. They are reverted at the next startup.</div></div></blockquote><div><br></div><div>Ron,</div><div><br></div><div>My concern was more the observation that the Summary of the draft JEP can be misunderstood, (It seems to have happened in this thread):</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Disallow the dynamic loading of agents into a running JVM by default. Agents are used by profiling tools to instrument Java applications, but agents can also be misused to undermine the integrity of the Java Platform.</blockquote><div><br></div><div>I think the second sentence here ("agents can also be misused..") was meant to refer specifically to dynamically loaded agents, not agents in general. To help avoid confusion, this sentence could be updated to clarify that it's the dynamic loading that is misused, not the agent mechanism per se.</div><div><br></div><div>Something like: "but <i>dynamically loaded agents</i> can also be misused to.." </div><div><br></div><div>I know the leading sentence defines the context, but I think a bit of redunancy here would help reduce misunderstandings and prevent people from thinking "now they're taking away agents too".</div><div><br></div><div>Thanks,</div><div>Eirik.</div><div><br></div><div><br></div></div></div>