On Mon, 11 Apr 2022 07:12:09 GMT, Alan Bateman <al...@openjdk.org> wrote:
>> src/java.base/share/classes/jdk/internal/misc/StructureViolationExceptions.java >> line 81: >> >>> 79: Constructor<?> ctor; >>> 80: try { >>> 81: Class<?> exClass = >>> Class.forName("jdk.incubator.concurrent.StructureViolationException"); >> >> Should this not be `jdk.internal.misc`? (Also, if this is the case, maybe >> there's a test missing that could have discovered this...) > >> Should this not be `jdk.internal.misc`? (Also, if this is the case, maybe >> there's a test missing that could have discovered this...) > > The exception is in an incubator module, it's just that code in java.base > can't statically reference it. Maybe it should use a `MethodHandle` fetched using `IMPL_LOOKUP` instead, in order to avoid the runtime overhead of going through `CallerSensitive` methods (`Class.forName` and `Constructor.newInstance`). It should probably also be cached. ------------- PR: https://git.openjdk.java.net/jdk/pull/8166