Integrated: 8282194: C1: Missing side effects of dynamic constant linkage
Vladimir Ivanov
vlivanov at openjdk.java.net
Wed Feb 23 10:21:53 UTC 2022
On Mon, 21 Feb 2022 13:20:08 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
> After [JDK-8280473](https://bugs.openjdk.java.net/browse/JDK-8280473), C1 handles unresolved dynamic constants by performing
> constant resolution at runtime and then putting the constant value into the
> generated code by patching it. But it treats the not-yet-resolved constant as a
> pure value, dynamic constants are produced by user-defined bootstrap methods
> and there are no guarantees that they don't have any side effects.
>
> Proposed fix conservatively kills the whole memory state after any unresolved
> dynamic constant.
>
> Testing:
> - [x] jck:vm/constantpool/resolveDynamicConstant w/ -Xcomp
> - [x] hs-tier1 - hs-tier4
This pull request has now been integrated.
Changeset: 93320717
Author: Vladimir Ivanov <vlivanov at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/9332071784b7150512f7e27b07c290a356d43c2e
Stats: 35 lines in 5 files changed: 30 ins; 0 del; 5 mod
8282194: C1: Missing side effects of dynamic constant linkage
Reviewed-by: kvn, thartmann
-------------
PR: https://git.openjdk.java.net/jdk/pull/7557
More information about the hotspot-compiler-dev
mailing list