RFR: 8241234: Unify monitor enter/exit runtime entries

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Mar 24 15:51:10 UTC 2020


Thank you, Coleen

It seems Yudi did not see your comments :(

CCing him and compiler group

Regards,
Vladimir

On 3/20/20 8:35 AM, coleen.phillimore at oracle.com wrote:
> 
> This seems like a good thing to do:
> 
> http://cr.openjdk.java.net/~yzheng/8241234/webrev.00/src/hotspot/share/runtime/sharedRuntime.cpp.udiff.html
> 
> I think you should have monitor_enter_helper and maybe monitor_exi_helper both take Handle as arguments.  This looks 
> very strange.
> 
> +void SharedRuntime::monitor_enter_helper(oopDesc* _obj, BasicLock* lock, JavaThread* thread) {
> 
> Because it creates a Handle anyway.  We try to eagerly pass Handle so that we don't have to search through the code to 
> make sure there aren't any unhandled oops.
> 
> The _obj parameter name doesn't follow coding conventions (I was looking for it to be a field in something).
> 
> + oop obj(_obj);
> 
> 
> Is there not already a implicit conversion from oopDesc* to oop?
> 
> Thanks,
> Coleen
> 
> 
> On 3/20/20 11:03 AM, Yudi Zheng wrote:
>> Hello,
>>
>> Please review this patch that unifies the monitor enter/exit runtime entries used by C1, C2, and JVMCI.
>>
>> https://bugs.openjdk.java.net/browse/JDK-8061553 added support for faster "slow" locking paths.
>> These paths are not currently used by JVMCI (or C1) leading to slower performance on programs
>> that have a lot of short lived locked sections (such as dacapo:h2).
>>
>> This patch creates helper methods based on C2’s monitor enter/exit entries, and shares with the C1,
>> JVMCI runtimes. It will prevent these runtimes from missing future updates.
>>
>> https://bugs.openjdk.java.net/browse/JDK-8241234
>> http://cr.openjdk.java.net/~yzheng/8241234/webrev.00/
>>
>> Many thanks,
>> Yudi
> 


More information about the hotspot-compiler-dev mailing list