Not by my understanding. A suitable lookup requires a loaded class for the package. A Java agent might however not provide a handle for a class that is not yet loaded. Or how would you suggest to approach this?
Am Fr., 16. Apr. 2021 um 16:21 Uhr schrieb Remi Forax <fo...@univ-mlv.fr>: > ----- Mail original ----- > > De: "Rafael Winterhalter" <winterhal...@openjdk.java.net> > > À: "core-libs-dev" <core-libs-...@openjdk.java.net>, > "serviceability-dev" <serviceability-dev@openjdk.java.net> > > Envoyé: Vendredi 16 Avril 2021 15:52:07 > > Objet: RFR: 8200559: Java agents doing instrumentation need a means to > define auxilary classes > > > To allow agents the definition of auxiliary classes, an API is needed to > allow > > this. Currently, this is often achieved by using `sun.misc.Unsafe` or > > `jdk.internal.misc.Unsafe` ever since the `defineClass` method was > removed from > > `sun.misc.Unsafe`. > > You can already use Lookup.defineClass() + privateLookupIn() + > Instrumentation.redefineModule() for that ? > > Rémi > > > > > ------------- > > > > Commit messages: > > - 8200559: Java agents doing instrumentation need a means to define > auxiliary > > classes > > > > Changes: https://git.openjdk.java.net/jdk/pull/3546/files > > Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3546&range=00 > > Issue: https://bugs.openjdk.java.net/browse/JDK-8200559 > > Stats: 185 lines in 4 files changed: 185 ins; 0 del; 0 mod > > Patch: https://git.openjdk.java.net/jdk/pull/3546.diff > > Fetch: git fetch https://git.openjdk.java.net/jdk > pull/3546/head:pull/3546 > > > > PR: https://git.openjdk.java.net/jdk/pull/3546 >