RFR: 8296492: Remove ObjectLocker in JVMTI get_subgroups call [v2]
Alan Bateman
alanb at openjdk.org
Tue Nov 8 12:50:52 UTC 2022
On Tue, 8 Nov 2022 12:30:37 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> The JVM code took a ThreadGroup lock before poking into ThreadGroup fields. Call a method in the ThreadGroup to call the synchronized method instead.
>> Tested with tier 1-4.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>
> Handle non OOM exceptions and rename subgroupsAsArray.
I wonder if the intermediate resource array is needed now. With the change, subgroupsAsArray returns a Java array, JvmtiEnvBase::get_subgroups creates a resource array with a handle to each of the thread group oops, then JvmtiEnvBase::new_jthreadArray creates a new local ref for each group.
src/java.base/share/classes/java/lang/ThreadGroup.java line 796:
> 794:
> 795: /**
> 796: * Returns an snapshot of the subgroups as an array, used by JVMTI.
The update looks good, just a typo here where it should be "a snapshot".
-------------
PR: https://git.openjdk.org/jdk/pull/11033
More information about the hotspot-dev
mailing list