RFR: 8165276: Spec states to invoke the premain method in an agent class if it's public but implementation differs [v10]

Serguei Spitsyn sspitsyn at openjdk.java.net
Tue Dec 22 05:47:19 UTC 2020


> This change have been already reviewed by Mandy, Sundar, Alan and David.
> Please, see the jdk 15 review thread:
>   http://mail.openjdk.java.net/pipermail/serviceability-dev/2020-June/031998.html
> 
> Now, the PR approval is needed.
> The push was postponed because the CSR was not approved at that time (it is now):
>    https://bugs.openjdk.java.net/browse/JDK-8248189
> Investigation of existing popular java agents was requested by Joe.
> ----------
> 
> The java.lang.instrument spec:
>   https://docs.oracle.com/en/java/javase/15/docs/api/java.instrument/java/lang/instrument/package-summary.html
> 
> Summary:
>   The java.lang.instrument spec clearly states:
>     "The agent class must implement a public static premain method
>      similar in principle to the main application entry point."
>   Current implementation of sun/instrument/InstrumentationImpl.java
>   allows the premain method be non-public which violates the spec.
>   This fix aligns the implementation with the spec.
> 
> Testing:
>   A mach5 run of jdk_instrument tests is in progress.

Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:

  @summary of some negative tests is corrected

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1694/files
  - new: https://git.openjdk.java.net/jdk/pull/1694/files/412789d3..81cb0e49

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1694&range=09
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1694&range=08-09

  Stats: 6 lines in 6 files changed: 0 ins; 0 del; 6 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1694.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1694/head:pull/1694

PR: https://git.openjdk.java.net/jdk/pull/1694


More information about the serviceability-dev mailing list