RFR: 6246: Making the agent stop using Unsafe
    Kangcheng Xu 
    kxu at openjdk.java.net
       
    Fri Jan 17 19:35:22 UTC 2020
    
    
  
This patch addresses [JMC-6246](https://bugs.openjdk.java.net/browse/JMC-6246).
The usage of `Unsafe.defineClass()` is replaced with:
- for pre-Java 9, reflective access on `ClassLoader.getSystemClassLoader().defineClass()`
- for Java 9 and later, `MethodHandles.Lookup.defineClass()`
Please note that `LookUp.defineClass()` can only define classes within the same package of the lookup. Therefore generated events classes will be in the dedicated package `org.openjdk.jmc.agent.generated_events`, instead of being in the same package of the instrumented class.
-------------
Commits:
 - 3c26203d: remove unsafe related helpers functions
 - bf895935: make agent stop using Unsafe
Changes: https://git.openjdk.java.net/jmc/pull/35/files
 Webrev: https://webrevs.openjdk.java.net/jmc/35/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JMC-6246
  Stats: 102 lines in 5 files changed: 36 ins; 58 del; 8 mod
  Patch: https://git.openjdk.java.net/jmc/pull/35.diff
  Fetch: git fetch https://git.openjdk.java.net/jmc pull/35/head:pull/35
PR: https://git.openjdk.java.net/jmc/pull/35
    
    
More information about the jmc-dev
mailing list