On Wed, 6 Jan 2021 00:18:19 GMT, Coleen Phillimore <cole...@openjdk.org> wrote:
>> See CR for details. >> I made the classpath append list lock-free. Calling experts in Atomic >> operations... >> Tested with tier1-6. >> Thanks, >> Coleen > > Coleen Phillimore has updated the pull request incrementally with one > additional commit since the last revision: > > Move locking into function where exclusive access is needed. Hi Coleen, Just a quick skim, but I think you need acquire/release for the lock-free path. Thanks, David src/hotspot/share/classfile/classLoader.cpp line 837: > 835: _last_append_entry = new_entry; > 836: assert(first_append_entry() == NULL, "boot loader's append class > path entry list not empty"); > 837: Atomic::store(&_first_append_entry_list, new_entry); This should probably be `OrderAccess::release_store`. src/hotspot/share/classfile/classLoader.hpp line 220: > 218: static ClassPathEntry* volatile _first_append_entry_list; > 219: static ClassPathEntry* first_append_entry() { > 220: return Atomic::load(&_first_append_entry_list); This should probably be a load_acquire. ------------- Changes requested by dholmes (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/1935