RFR(S) Contended Locking cleanup bucket (8062851)
Daniel D. Daugherty
daniel.daugherty at oracle.com
Wed Nov 5 15:29:56 UTC 2014
On 11/5/14 3:42 AM, David Holmes wrote:
> Hi Dan,
>
> Reviewed.
Thanks!
> I find the name OM_OFFSET_NO_MONITOR_VALUE somewhat awkward but have
> no better suggestion.
Understood. I didn't like the original "OFFSET_SKEWED" name
especially since I was moving it to objectMonitor.hpp...
If you think of a better, let me know... we can always change it.
> In fact I have to ask what _is_ the object monitor tagging mechanism?
> I can't see it defined in the objectMonitor.* files. ??
That would be this code:
src/share/vm/oops/markOop.hpp:
317 static markOop encode(ObjectMonitor* monitor) {
318 intptr_t tmp = (intptr_t) monitor;
319 return (markOop) (tmp | monitor_value);
320 }
and the other methods in that file that have to account for
the monitor_value being set...
Dan
>
> Thanks,
> David
>
> On 5/11/2014 2:34 PM, Daniel D. Daugherty wrote:
>> Greetings,
>>
>> I have a Contended Locking cleanup bucket fix ready for review.
>>
>> This fix was spun off from the Contended Locking fast enter bucket
>> which was sent out for review late last week. This fix cleans up
>> the computation of ObjectMonitor field pointers and gets rid of
>> the use of literal '-2' in appropriate places. For example:
>>
>> - ld_ptr(Rmark, ObjectMonitor::owner_offset_in_bytes() - 2,
>> Rscratch);
>> + ld_ptr(Rmark, OM_OFFSET_NO_MONITOR_VALUE(owner), Rscratch);
>>
>> The OM_OFFSET_NO_MONITOR_VALUE macro computes the offset to the
>> specified field and subtracts markOopDesc:monitor_value (2).
>> There's a nice comment in src/share/vm/runtime/objectMonitor.hpp.
>>
>> Thanks to David Holmes for his comments on JDK-8061553 that
>> motivated this (long overdue) cleanup.
>>
>> This work is being tracked by the following bug ID:
>>
>> JDK-8062851 cleanup ObjectMonitor offset adjustments
>> https://bugs.openjdk.java.net/browse/JDK-8062851
>>
>> Here is the webrev URL:
>>
>> http://cr.openjdk.java.net/~dcubed/8062851-webrev/0-jdk9-hs-rt/
>>
>> Here is the JEP link:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8046133
>>
>> Testing:
>>
>> - JPRT test jobs (since this is only syntax and comment cleanup)
>>
>> Thanks, in advance, for any comments, questions or suggestions.
>>
>> Dan
More information about the hotspot-runtime-dev
mailing list