RFR(s): 8198267: Allow GCId::current_raw() calls from non-NamedThreads
per.liden at oracle.com
Tue Feb 20 16:14:40 UTC 2018
On 20 Feb 2018, at 17:03, Kim Barrett <kim.barrett at oracle.com> wrote:
>> On Feb 20, 2018, at 3:32 AM, Per Liden <per.liden at oracle.com> wrote:
>> 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/
> Looks good.
More information about the hotspot-gc-dev