8164207: Checking missing load-acquire in relation to _pd_set in dictionary.cpp

Use load_acquire for accessing DictionaryEntry::_pd_set since it's accessed outside the SystemDictionary_lock

Reviewed-by: zgu, twisti, dholmes, adinn
This commit is contained in:
Coleen Phillimore 2017-08-30 19:18:22 -04:00
parent f1ff1ca94b
commit de3cc93ca6
3 changed files with 21 additions and 15 deletions

View file

@ -910,12 +910,9 @@ Klass* SystemDictionary::resolve_instance_class_or_null(Symbol* name,
if (protection_domain() == NULL) return k;
// Check the protection domain has the right access
{
MutexLocker mu(SystemDictionary_lock, THREAD);
if (dictionary->is_valid_protection_domain(d_index, d_hash, name,
protection_domain)) {
return k;
}
if (dictionary->is_valid_protection_domain(d_index, d_hash, name,
protection_domain)) {
return k;
}
// Verify protection domain. If it fails an exception is thrown