Integrated: 8332032: C2: Remove ExpandSubTypeCheckAtParseTime flag
Christian Hagedorn
chagedorn at openjdk.org
Fri May 31 07:00:05 UTC 2024
On Tue, 28 May 2024 15:01:14 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
> With this patch I propose to remove the diagnostic product flag `ExpandSubTypeCheckAtParseTime` for the following reasons:
> - Expanding sub type checks eagerly during parse time has a maintenance cost. We've had to make special fixes due to skipping `SubTypeCheckNodes` in the past (recent example: [JDK-8328702](https://bugs.openjdk.org/browse/JDK-8328702), where the idea of removing this flag was first discussed).
> - This stress option has not helped much to find bugs. Going through JBS, maybe only 1 or 2 bugs can be attributed to this flag over the last 4 years - and even for those, it could have very well be that the flag was not required because it was often accompanied by other stress flags such as `StressReflecitiveCode`.
> - We currently have a bug in Valhalla ([JDK-8331912](https://bugs.openjdk.org/browse/JDK-8331912)) which only happens with `ExpandSubTYpeCheckAtParseTime`. The reason is that we lose flatness information due to the eager sub type expansion. Later, data becomes top and the corresponding (already expanded) sub type check fails to fold control as well, leading to a broken graph. The simplest solution is to remove `ExpandSubTYpeCheckAtParseTime`.
>
> Thanks,
> Christian
This pull request has now been integrated.
Changeset: 95c8a69b
Author: Christian Hagedorn <chagedorn at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/95c8a69b0e7a99ec0cd41aa9b6ba033fd3216695
Stats: 18 lines in 4 files changed: 1 ins; 13 del; 4 mod
8332032: C2: Remove ExpandSubTypeCheckAtParseTime flag
Reviewed-by: thartmann, rcastanedalo
-------------
PR: https://git.openjdk.org/jdk/pull/19430
More information about the hotspot-compiler-dev
mailing list