> On May 12, 2016, at 2:44 PM, Brent Christian <brent.christ...@oracle.com> 
> wrote:
> 
> On 5/12/16 11:44 AM, Mandy Chung wrote:
>> 
>> This patch looks good.
>> 
>> To help future readers to understand this, it may be better to move:
>> 1152     private transient ConcurrentHashMap<Object, Object> map =
>> 1153             new ConcurrentHashMap<>(8);
>> 
>> to the beginning and add a comment describing what are lock-free and what 
>> are synchronized (basically some part of your summary below).
>> 
>> Also a comment in Hashtable::defaultWriteHashtable and readHashtable methods 
>> to mention that they are overridden by Properties.
> 
> Good ideas.
> 
>> In the GetResource.java test, what is the reason taking out:
>>   73   URL u2 = 
>> Thread.currentThread().getContextClassLoader().getResource("sun/util/resources/CalendarData.class”);
>> 
> 
> It was coming back null and failing the test, I think because
> Jigsaw moved CalendarData into a different module (jdk.localedata, I 
> believe?).

src/java.base/share/classes/sun/util/resources/CalendarData.properties is still 
in java.base.  This is due to resource encapsulation.  Unnamed module calling 
ClassLoader::getResource of a resource in a named module returns null.


>  I fiddled with @modules a bit, but stopped when I discovered that when the 
> test deadlocks, it hangs on the first call to getResource() and doesn't get 
> to this line.
> 
> I can look into getting it to load CalendarData again, if you like.

The launcher and builtin class loader implementation has changed so much that 
the code path exercised JDK-6977738 no longer exists.  I think dropping line 73 
is okay. 

Mandy

Reply via email to