On Thu, 5 May 2022 20:54:53 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> 
wrote:

>> This PR contains the API and implementation changes for JEP-424 [1]. A more 
>> detailed description of such changes, to avoid repetitions during the review 
>> process, is included as a separate comment.
>> 
>> [1] - https://openjdk.java.net/jeps/424
>
> Maurizio Cimadamore has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   * Clarify what happens when SymbolLookup::loaderLookup is invoked from JNI
>   * Tweak restricted method check to work when there's no caller class

src/java.base/share/classes/java/lang/foreign/SymbolLookup.java line 161:

> 159:                 ClassLoader.getSystemClassLoader();
> 160:         MemorySession loaderSession = (loader == null) ?
> 161:                 MemorySession.global() : // boot loader never goes away

The other built-in class loaders (`ClassLoaders::appClassLoader` and 
`ClassLoaders::platformClassLoader` are both instance of `BuiltinClassLoader`) 
will never be unloaded.   Should they use the globel memory session?

src/java.base/share/classes/jdk/internal/reflect/Reflection.java line 120:

> 118:         // if there is no caller class, act as if the call came from an 
> unnamed module
> 119:         Module module = currentClass != null ?
> 120:                 currentClass.getModule() : Holder.FALLBACK_MODULE;

This can be simplified to:

Module module = currentClass != null ?
               currentClass.getModule() : 
ClassLoader::getSystemClassLoader().getUnnamedModule();


No need to have the Holder class.

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

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

Reply via email to