RFR 8071627: Code refactoring to override == operator of Symbol*

John Rose john.r.rose at oracle.com
Wed Apr 8 22:24:40 UTC 2015


On Apr 2, 2015, at 5:48 PM, Calvin Cheung <calvin.cheung at oracle.com> wrote:
> 
> Please review this enhancement for Symbol comparison.

8600 lines of patch in 143 files is a disruptive change of the first order.  All by itself it will add cost to most backports, including CPUs.

I would like to understand the need for such a change before it goes into the repo.

In particular, exactly how many uses of SymbolRef::operator== are there in the new code?  What would be the complexity of changing those occurrences only?  You can easily find the answer to this question by renaming SymbolRef::operator== to SymbolRef::identity_equals, debugging, and then counting the occurrences of the new name.

(I know there's a forward-moving cost to leaving C++ pointer-equality as a possible source of bugs.  But we can deal with this in other ways than removing a C++ pointer type from our source base.)

— John


More information about the hotspot-runtime-dev mailing list