RFR(s): 8198267: Allow GCId::current_raw() calls from non-NamedThreads

Per Liden per.liden at oracle.com
Tue Feb 20 08:32:24 UTC 2018

Hi Kim,

On 02/20/2018 08:04 AM, Kim Barrett wrote:
>> On Feb 20, 2018, at 1:32 AM, Kim Barrett <kim.barrett at oracle.com> wrote:
>> The inability to call GCId::current_raw from non-NamedThreads is what
>> led me to jump through some hoops in the gtests for OopStorage,
>> sometimes needing to transition a thread from native to VM.
> Looking at the test code more carefully, I think the transition from native to VM was to
> deal with some assert_in_safepoints in some places in OopStorage’s implementation.
> The GCId issue seems to have been dealt with by explicitly passing GCId::undefined() to
> the AbstractGangTask constructor.  The proposed default behavior would work for the
> oopstorage gtest, but the test still seems like it needs updating.

Ah, the gtest fix was incorrectly included in the followup patch 
"8198369: Clean up GCId and GCIdMark", but it should be part of this 
patch of course. Will fix. I'll also make the constructor explicit.

About the removal of Universe::is_fully_initialized() in G1PretouchTask. 
I came to the conclusion that it's obsolete/unnecessary.

Incremental: http://cr.openjdk.java.net/~pliden/8198267/webrev.0vs1/
Full: http://cr.openjdk.java.net/~pliden/8198267/webrev.1/


More information about the hotspot-gc-dev mailing list