> On Jan 11, 2017, at 5:45 PM, Naoto Sato <naoto.s...@oracle.com> wrote:
> 
> Decided to include the fix to 8171140 [1] as well, as they are closely 
> related. Here is the updated webrev.
> 
> http://cr.openjdk.java.net/~naoto/8171139.8171140/webrev.01/
> 
> Additional changes to the version 00 are to mainly remove clearCache(Module) 
> method, as clearCache() is chiefly used in combination with 
> ResourceBundle.Control, which is not supported in named modules. Still named 
> modules can issue clearCache() with no argument which will result in the same 
> effect. Also, other clearCache() overloads have clearer method descriptions.


I think removing the clearCache(Module) method and have the clearCache() method 
removing the resource bundles loaded by the caller’s module is reasonable.  For 
unnamed module loaded by the application class loader as the caller, the no-arg 
clearCache will remove the resource bundles loaded from the classpath.  
Comparing to JDK 8, it does not remove resource bundles from the JDK modules 
that used to be in tools.jar.  IMO this behavioral difference is a good one.

2179     @CallerSensitive
2180     public static final void clearCache(ClassLoader loader) {
2181         Objects.requireNonNull(loader);
2182         Class<?> caller = Reflection.getCallerClass();
2183         clearCacheImpl(null, loader);
2184     }

The clearCache(ClassLoader) method no longer needs to be caller-sensitive.  @CS 
should be removed, line 2179 and 2182 should be removed.

With this change, I think clearCacheImpl is not as useful.  I suggest to do the 
removal in the clearCache method body.

It’s okay to push the changesets for two issues together.  It’d be useful to 
generate a webrev against JDK-8171139 to contain the change in clearCache for 
JDK-8171140.

thanks
Mandy   

Reply via email to