RFR: 8351889: C2 crash: assertion failed: Base pointers must match (addp 344) [v2]

Roland Westrelin roland at openjdk.org
Fri Nov 21 10:19:30 UTC 2025


On Thu, 13 Nov 2025 16:12:09 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

> Do you know why we insert a new `CastPP` there, and why it is put not at the ctrl of the CastPP, but of the phi? I suppose the ctrl of the phi is correct, but we do lose information there, and that later prevents the `CastPP` to common.

When the `Phi` is removed because all of its inputs are the same once uncasted, there is a risk of losing a dependency. To prevent that, a `CastPP` is inserted. All we know is that some casts along some inputs of the `Phi` may carry a dependency that we don't want to loose. The only possible control for the `CastPP` then is the one of the `Phi`.

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

PR Comment: https://git.openjdk.org/jdk/pull/25386#issuecomment-3562330911


More information about the hotspot-compiler-dev mailing list