[lworld] RFR: 8320296: [lworld] Fix profiling at array store subtype checks in Valhalla
Roland Westrelin
roland at openjdk.org
Thu Dec 14 08:51:24 UTC 2023
The issue is that the way valhalla collects profile data at `aastore` is different from what mainline does. It used to not matter because mainline didn't use part of the data it collects but that has changed. In mainline, no profile data is collected for `aaload` and every `aastore` has a `ReceiverTypeData` entry. In valhalla, `aaload` and `aastore` both make use of a `ArrayLoadStoreData` that's unrelated to `ReceiverTypeData`. What I propose to fix this is that `aaload` and `aastore` each have their own profile data structure: `ArrayLoadData` and `ArrayStoreData` . `ArrayLoadData` is identical to `ArrayLoadStoreData` so there's no change to profile collection code for `aaload`. `ArrayStoreData` is a subclass of `ReceiverTypeData` so profile data collection has to be adjusted. The reason for not having the same data structure for `aaload` and `aastore` is that it made fixing the profile collection code easier and increasing the number of types collected by `ReceiverTypeData` (if we
ever want to do that) would not cause a lot of unused data to be collected at `aaload`.
-------------
Commit messages:
- another jvmci fix
- jvmci fix
- remove problem listed test
- more
- aarch64 fix
- x86 fix
Changes: https://git.openjdk.org/valhalla/pull/962/files
Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=962&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8320296
Stats: 389 lines in 19 files changed: 252 ins; 19 del; 118 mod
Patch: https://git.openjdk.org/valhalla/pull/962.diff
Fetch: git fetch https://git.openjdk.org/valhalla.git pull/962/head:pull/962
PR: https://git.openjdk.org/valhalla/pull/962
More information about the valhalla-dev
mailing list