Review Request JDK-8200559: Java agents doing instrumentation need a means to define auxiliary classes

Alan Bateman Alan.Bateman at oracle.com
Mon Apr 23 13:01:24 UTC 2018


On 15/04/2018 07:23, mandy chung wrote:
>
>
> This proposal would allow java agents to migrate from internal API and 
> ClassDefiner to be enhanced in the future.
>
> Webrev:
> http://cr.openjdk.java.net/~mchung/jdk11/webrevs/8200559/webrev.00/
I went through the proposed spec/API addition and it looks good. The 
original instrumentation envisaged in JSR 163 was to support data 
collection by tools (profilers, tracing, etc.) and it's not unreasonable 
that such instrumentation would make use of (ideally non-public) helper 
classes that the agent defines into the same run-time package as the 
instrumented class.

The reentrancy issues with transform implementations loading or defining 
new classes is very tricky so I think the proposal to not send the 
auxillary classes through the transformer pipeline is pragmatic. It 
means a small inconsistent with JVM TI but I don't think this matters 
too much.

A minor suggestion is to replace "The transformers can ..."  with 
"Transformers may". The rest of the wording looks good.

-Alan




More information about the serviceability-dev mailing list