RFR: 8259067: bootclasspath append takes out object lock [v4]

David Holmes dholmes at openjdk.java.net
Thu Jan 7 02:48:57 UTC 2021


On Thu, 7 Jan 2021 00:04:07 GMT, Coleen Phillimore <coleenp at 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:
> 
>   Use acquire/release for first_append_entry_list

Addition of release/acquire looks good. Note that we now update _first_append_entry with the same release semantics as ClassPathEntry::set_next - as we should in general.

I'm not 100% clear on which part of these API's can only be called whilst the VM is still single-threaded, but ignoring that, the change to use locked updates with lock-free traversal seems functionally correct. The overall necessity of using locking does depend on the potential for concurrent calls to ClassLoader::add_to_boot_append_entries - something I have not investigated at all.

Thanks,
David

-------------

Marked as reviewed by dholmes (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1935


More information about the serviceability-dev mailing list