RFR 8247808: Move JVMTI strong oops to OopStorage

Ioi Lam ioi.lam at oracle.com
Thu Jun 18 06:02:39 UTC 2020


Hi Coleen,

This looks good to me.

G1GCPhaseTimes::phase_name and enum GCParPhases should really be defined 
using an X-macro, but that's a different RFE.

Thanks
- Ioi

On 6/17/20 6:09 PM, coleen.phillimore at oracle.com wrote:
>
>
> On 6/17/20 7:49 PM, David Holmes wrote:
>> Hi Coleen,
>>
>> On 18/06/2020 7:25 am, coleen.phillimore at oracle.com wrote:
>>> Summary: Remove JVMTI oops_do calls from JVMTI and GCs
>>>
>>> Tested with tier1-3, also built shenandoah to verify shenandoah 
>>> changes.
>>>
>>> open webrev at 
>>> http://cr.openjdk.java.net/~coleenp/2020/8247808.01/webrev
>>> bug link https://bugs.openjdk.java.net/browse/JDK-8247808
>>
>> This is a nice cleanup and simplification of the code for working 
>> with OopStorage! So LGTM.
>
> Thanks, David.
>>
>> One query ... I'm assuming that the processing previously done in 
>> JvmtiExport::oops_do is now done by 
>> OopStorageSet::vm_global()->oops_do. In most cases I can see the call 
>> to OopStorageSet::vm_global()->oops_do in the same vicinity as the 
>> call to JvmtiExport::oops_do, but not all i.e. 
>> ZRootsIterator::oops_do and ShenandoahSerialRoots::oops_do. Tracking 
>> through it seems that for those GCs the VM global roots are processed 
>> concurrently, whereas currently JVMTI roots are not. Does that make 
>> any potential difference?
>
> ZGC and Shenandoah are better because when the vm_global() roots grow, 
> they'll be processed faster.  Because accessing oops in OopStorage 
> uses resolve() which uses the Access API, any oops will be marked or 
> fixed when accessed if the GC hasn't yet gotten to this oop in it's 
> concurrent processing.
>
> Kim noticed that G1 and ParallelGC should be processing these roots in 
> parallel (with many threads, since OopStorage has that support) and 
> he's going to or has filed a bug to fix it.  As we add more things to 
> OopStorage (see upcoming RFRs), this will become important.
>
> Thanks,
> Coleen
>
>>
>> Thanks,
>> David
>> -----
>>
>>> Thanks,
>>> Coleen
>



More information about the hotspot-dev mailing list