Hi, This PR splits `ciObjArrayKlass` into `ciRefArrayKlass` and `ciFlatArrayKlass`, aligns the hierarchy with the corresponding types of the VM.
I also had to fix `GraphKit::cast_to_flat_array`, currently it incorrectly assumes that the cast is to an exact type, splitting into `cast_to_flat_array` and `cast_to_flat_array_exact` seems to make it clearer. Please kindly review, thanks a lot. ------------- Commit messages: - Refactor ciObjArrayKlass to align with the VM type Changes: https://git.openjdk.org/valhalla/pull/1739/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1739&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8370880 Stats: 407 lines in 21 files changed: 165 ins; 170 del; 72 mod Patch: https://git.openjdk.org/valhalla/pull/1739.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1739/head:pull/1739 PR: https://git.openjdk.org/valhalla/pull/1739
