RFR: 8262910: Cleanup THREAD/TRAPS/naming and typing issues in ObjectMonitor and related code [v4]

David Holmes david.holmes at oracle.com
Tue Mar 9 21:57:50 UTC 2021


On 10/03/2021 4:55 am, Chris Plummer wrote:
> On Fri, 5 Mar 2021 04:59:02 GMT, David Holmes <dholmes at openjdk.org> wrote:
> 
>>> ObjectMonitors can only be used by JavaThreads (modulo some interactions with hashcodes and deflation) but we use "Thread*" almost everywhere mainly due to use of TRAPS (and TRAPS will itself use JavaThread once JDK-8252685 is done). Also some uses of TRAPS in the API's are wrong as, for example, monitor entry can never throw an exception.
>>>
>>> So this cleanup tackles:
>>> - remove incorrect use of TRAPS
>>> - change "Thread*" to "JavaThread*" where applicable
>>> - don't use THREAD for things not related to exception processing
>>> - standardise the naming so that we have "JavaThread* current" rather a mix if Self/THREAD/jt etc.
>>> - remove unnecessary as_Java_thread() conversions
>>> - other misc cleanup I noticed in some functions
>>>
>>> The cleanup is predominantly in objectMonitor.* and synchronizer.* but with a fan out to the users of those APIs. No attempt is made to cleanup the callers beyond ensuring we have a suitable JavaThread reference for the calls.
>>>
>>> Thanks,
>>> David
>>
>> David Holmes has updated the pull request incrementally with three additional commits since the last revision:
>>
>>   - Fix typo
>>   - Fixed up BiasedLocking code in ObjectSynchronizer::enter
>>   - iFixed alignment in macro
> 
> JVMTI changes look good.

Thanks Chris!

David

> -------------
> 
> Marked as reviewed by cjplummer (Reviewer).
> 
> PR: https://git.openjdk.java.net/jdk/pull/2802
> 


More information about the hotspot-runtime-dev mailing list