RFR: 8241234: Unify monitor enter/exit runtime entries

Yudi Zheng yudi.zheng at oracle.com
Mon Mar 30 14:15:19 UTC 2020


Hi Daniel,

Thanks for the review! I have uploaded a new version with your comments addressed:
http://cr.openjdk.java.net/~yzheng/8241234/webrev.04/

> src/hotspot/share/runtime/sharedRuntime.hpp
>     Please don't forget to update the copyright year before you push.

Fixed.

> src/hotspot/share/runtime/sharedRuntime.cpp
>     L2104:   ObjectSynchronizer::exit(obj, lock, THREAD);
>         The use of 'THREAD' here and 'TRAPS' in the function itself
>         standout more now, but that's something for me to cleanup.

Also, I noticed that C2 was using CHECK
>    ObjectSynchronizer::enter(h_obj, lock, CHECK);
While C1 and JVMCI were using THREAD:
>    ObjectSynchronizer::enter(h_obj, lock->lock(), THREAD);

I have no idea when to use what, and hope unifying to the C2 entries would help.
Let me know if there is something I should address in this patch. Otherwise, I would
rather leave it to the expert, i.e., you ;)

> src/hotspot/share/c1/c1_Runtime1.cpp
>     old L718:   assert(thread == JavaThread::current(), "threads must correspond");
>         Removed in favor of the assert in SharedRuntime::monitor_enter_helper().
>         Okay that makes sense.
> 
>     old L721:   EXCEPTION_MARK;
>         Removed in favor of the same in SharedRuntime::monitor_enter_helper().
>         Okay that makes sense.
> 
> src/hotspot/share/jvmci/jvmciRuntime.cpp
>     old L403:   assert(thread == JavaThread::current(), "threads must correspond");
>     old L406:   EXCEPTION_MARK;
>         Same as for c1_Runtime1.cpp

I assume I don’t need to do anything regarding the comments above.

> 
>     L390:     TRACE_jvmci_3("%s: entered locking slow case with obj="...
>     L394:   TRACE_jvmci_3("%s: exiting locking slow with obj="
>     L417:     TRACE_jvmci_3("%s: exited locking slow case with obj="
>         But this is no longer the "slow" case so I'm a bit confused.
> 
>         Update: I see there's a comment about the tracing being removed.
>         I have no opinion on that since it is JVM/CI code, but the word
>         "slow" needs to be adjusted if you keep it.

I removed all the tracing code.

Many thanks,
Yudi


More information about the hotspot-compiler-dev mailing list