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