Integrated: 8353345: C2 asserts because maskShiftAmount modifies node without deleting the hash

Marc Chevalier mchevalier at openjdk.org
Thu Apr 3 12:26:01 UTC 2025


On Tue, 1 Apr 2025 11:51:13 GMT, Marc Chevalier <mchevalier at openjdk.org> wrote:

> First delete the hash, then `set_req`. This way, we avoid changing the node (a non-`this` node) without deleting the hash. This wrong ordering is not new from [JDK-8347459](https://bugs.openjdk.org/browse/JDK-8347459), but before that, only `this` was going through this function, so it was ok. But since, it is used with other nodes, hence the need to remove the hash.
> 
> Also, not do any of that outside IGVN, but requires to register nested shifts for IGVN in parsing not to miss them later.
> 
> Thanks,
> Marc

This pull request has now been integrated.

Changeset: 296d9d6f
Author:    Marc Chevalier <mchevalier at openjdk.org>
Committer: Christian Hagedorn <chagedorn at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/296d9d6f7a734cc2bab21c58f21a941150b4cf2a
Stats:     113 lines in 2 files changed: 79 ins; 3 del; 31 mod

8353345: C2 asserts because maskShiftAmount modifies node without deleting the hash

Reviewed-by: chagedorn, thartmann

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

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


More information about the hotspot-compiler-dev mailing list