[15] RFR 8245823: Shenandoah: inline/optimize ShenandoahEvacOOMScope

Zhengyu Gu zgu at redhat.com
Wed May 27 12:00:42 UTC 2020


Hi Roman,

>>
>> Okay, updated:
>> http://cr.openjdk.java.net/~zgu/JDK-8245823/webrev.01/index.html
>>
>> -Zhengyu
> 
> Looks good in general.
> 
> +  void register_thread_to_protocol(Thread* t);
> +  void unregister_thread_to_protocol(Thread* t);
> 
> It would have to be 'unregister_thread_from_protocol' but then I think
> we can just do 'register_thread' and 'unregister_thread' instead?
> 

Sure, will rename before push.


> Also, why not inline register_thread() and unregister_thread() too?
> Those appear to be the common paths in mutator-LRB, and should only
> account for a few instructions?

This patch is really intended to address nesting scopes, to shred a few 
nano seconds from code root evacuation. I did not study barrier cases, 
so let's experiment that in separate CR, Okay?

Thanks,

-Zhengyu


> 
> It may be worth passing thread from compiled-code into mutator-LRB, we
> already keep it permanently in a register, and it may be relevant for
> tiny-object-evacs. But that would be a future change.
> 
> Roman
> 



More information about the hotspot-gc-dev mailing list