On Fri, 28 May 2021 13:25:23 GMT, Martin Doerr <[email protected]> wrote:

>> We need a fix for crashes in get_current_contended_monitor due to concurrent 
>> modification of memory locations which are not declared volatile. See bug 
>> for details.
>
> Martin Doerr has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   whitespace fix

Thumbs up. Just a couple of suggestions about the comments.

src/hotspot/share/runtime/thread.hpp line 757:

> 755:   ObjectMonitor* current_pending_monitor() {
> 756:     // Using atomic load to prevent compilers from reloading 
> (ThreadService::get_current_contended_monitor).
> 757:     // In case of concurrent modification, reloading pointer after NULL 
> check must be prevented.

Perhaps rewrite the comment like this:

// Use Atomic::load() to prevent data race between concurrent modification and
// concurrent readers, e.g., ThreadService::get_current_contended_monitor().

src/hotspot/share/runtime/thread.hpp line 770:

> 768:   }
> 769:   ObjectMonitor* current_waiting_monitor() {
> 770:     // Using atomic load as in current_pending_monitor.

Perhaps:
`// See the comment in current_pending_monitor() above.`

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

Marked as reviewed by dcubed (Reviewer).

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

Reply via email to