RFR(S): 6378256: Performance problem with System.identityHashCode in client compiler

Rahul Raghavan rahul.v.raghavan at oracle.com
Mon Feb 15 08:52:10 UTC 2016


Hi,

Yes, Thank you for the points Roland.
Changes and testing done.

Latest webrev for review: http://cr.openjdk.java.net/~thartmann/6378256/webrev.05/

Thanks,
Rahul

> -----Original Message-----
> From: Roland Westrelin > Sent: Thursday, February 11, 2016 7:50 PM > To: Rahul Raghavan > Cc: hotspot-compiler-dev at openjdk.java.net
> 
> Hi Rahul,
> 
> > webrev: http://cr.openjdk.java.net/~thartmann/6378256/webrev.04/
> 
> Thanks for the updated webrev.
> 
> It would be better if he declaration of inline_check_hashcode_from_object_header() is private. When it’s called:
> 
> SharedRuntime::inline_check_hashcode_from_object_header()
> 
> SharedRuntime:: is useless:
> 
> inline_check_hashcode_from_object_header()
> 
> is sufficient.
> 
> Roland.
> 
> >
> > New changes done here are -
> >  i. added new inline_check_hashcode_from_object_header() in SharedRuntime class [sharedRuntime.hpp] guarded with 'X86 &&
> COMPILER1'
> >  ii. required comment text justification done.
> >
> > Confirmed no issues with jprt testing (-testset hotspot) and unit tests.
> >
> > Thank you,
> > Rahul
> >
> >> -----Original Message-----
> >> From: Roland Westrelin > Sent: Monday, February 08, 2016 11:00 PM > To: Rahul Raghavan > Cc: hotspot-compiler-
> dev at openjdk.java.net
> >>
> >> Hi Rahul,
> >>
> >>> Please review revised patch, notes for JDK-6378256.
> >>> https://bugs.openjdk.java.net/browse/JDK-6378256
> >>>
> >>>
> >>> Latest webrev-03: http://cr.openjdk.java.net/~thartmann/6378256/webrev.03/
> >>
> >> Thanks for making the change. I would say it’s better to add inline_check_hashcode_from_object_header() to sharedRuntime.hpp
> >> with #ifdef X86 rather than have the inline declaration. Not sure what others think.
> >>
> >>>>> Can you justify the comments again?
> >>
> >> I meant justify as text justification that is right align that comment:
> >>
> >>  36 // ---------------------------------------------------------------------------
> >>  37 // Object.hashCode, System.identityHashCode can pull the hashCode from the header word
> >>  38 // instead of doing a full VM transition once it's been computed.
> >>  39 // Since hashCode is usually polymorphic at call sites we can't do
> >>  40 // this optimization at the call site without a lot of work.
> >>
> >> and that comment
> >>
> >> 2019     // Object.hashCode, System.identityHashCode can pull the hashCode from the header word
> >> 2020     // instead of doing a full VM transition once it's been computed.
> >> 2021     // Since hashCode is usually polymorphic at call sites we can't do
> >> 2022     // this optimization at the call site without a lot of work.
> >>
> >> Sorry for the confusion. The code looks good to me/
> >>
> >> Roland.
> >>
> >>
> 


More information about the hotspot-compiler-dev mailing list