RFR (XXS): 7006810: G1: Introduce peace-of-mind checking in the Suspendible Thread Set
Kim Barrett
kim.barrett at oracle.com
Tue Apr 14 16:39:33 UTC 2015
On Apr 10, 2015, at 11:04 AM, Joseph Provino <joseph.provino at oracle.com> wrote:
>
> Per, your analysis seems to be right on the money.
>
> After initializing the variable and putting in asserts in join/leave
> and removing the asserts (which did indeed get hit) in synchronize/desynchronize
> it passes jprt.
>
> Here's the latest webrev for review:
>
> http://cr.openjdk.java.net/~jprovino/7006810/webrev.03
A couple of minor nits in src/share/vm/gc_implementation/shared/suspendibleThreadSet.cpp
36 assert(Thread::current()->is_suspendible_thread() == false,
37 "Thread already joined”);
I’d prefer !Thread::current()->is_suspendible_thread() rather than comparison to false.
43 #ifdef ASSERT
44 Thread::current()->set_suspendible_thread();
45 #endif
Hotspot Stye guidelines suggest preferring DEBUG_ONLY forms to #ifdef ASSERT for short single-line conditionalization. Similarly for the call to clear_suspendible_thread() a few lines later.
More information about the hotspot-gc-dev
mailing list