RFR: 8350095: RISC-V: Refactor string_compare

Hamlin Li mli at openjdk.org
Fri Feb 14 14:36:21 UTC 2025


Hi,
Can you help to review this patch?

Currently, `string_compare` code is a bit complicated, main reasons include:
1. it has 2 piece of code respectively for LU and UL case, this is not necessary, basically LU and UL behaviour quite similar.
2. it mixed LL/UU and LU/UL case together, better to separate them, as they are quite different from each other.

This is not good for code reading and maintaining.


So, this patch does following refactoring:
1. merge LU and UL code into one, i.e. remove UL code.
2. seperate the code into 2 methods:  LL/UU and LU/UL.
3. some other misc improvement.

I could do the following refactoring in another following pr, as in this pr I'm just moving code and removing code, it's easier to do it and review it. In particular the first one, as it needs to rewrite the existing code for UL/LU case.
1. move alignment code of `generate_compare_long_string_different_encoding` upwards to `string_compare_long_LU`.
2. make `SHORT_STRING` case simpler.



Thanks

-------------

Commit messages:
 - blank lines
 - simplify
 - clean
 - merge UL and LU
 - move to functions
 - move alignment code of LL&UU down from common code path
 - initial commit

Changes: https://git.openjdk.org/jdk/pull/23633/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23633&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8350095
  Stats: 289 lines in 3 files changed: 149 ins; 125 del; 15 mod
  Patch: https://git.openjdk.org/jdk/pull/23633.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23633/head:pull/23633

PR: https://git.openjdk.org/jdk/pull/23633


More information about the hotspot-compiler-dev mailing list