RFR (XS) 8010723 - possible deadlock with SystemDictionary_lock
Karen Kinnear
karen.kinnear at oracle.com
Mon Apr 1 05:20:10 PDT 2013
Ioi,
Looks good. Thank you for the updated comments.
line 839 "need" -> "needs"
And yes, for non-boot loaders, you can load the same class in parallel -
this was added to prevent deadlocks with the class loader lock - and it
allows parallelCapable loaders to load faster.
thanks,
Karen
On Mar 29, 2013, at 3:26 PM, Ioi Lam wrote:
> Coleen,
>
> I have updated the webrev to incorporate your comments:
>
> http://cr.openjdk.java.net/~iklam/8010723/sysdic_lock_002/
>
> Thanks
> - Ioi
>
> On 03/29/2013 10:38 AM, Coleen Phillimore wrote:
>>> // This must be done outside of the SystemDictionary_lock to
>>> // avoid deadlock.
>>> //
>>> // Note that Klass::restore_unshareable_info (called via
>>> // load_instance_class above) is also called outside
>>> // of SystemDictionary_lock. All other threads that are
>>> // trying to load this class in the boot classloader
>>> // are already blocked above at
>>> // if (class_loader.is_null()) {SystemDictionary_lock->wait();}
>> How about
>>
>> // Other threads are blocked from loading this class because they are
>> // are waiting on the SystemDictionary_lock until this thread removes
>> // the placeholder below.
>>
>> thanks,
>> Coleen
>>> //
>>> // This need to be re-thought when parallel-capable non-boot
>>> // classloaders are supported by CDS (today they're not).
>
More information about the hotspot-runtime-dev
mailing list