Integrated: 8374435: assert(addp->is_AddP()) failed: must be AddP during EA with -XX:-UseCompressedOops

Quan Anh Mai qamai at openjdk.org
Wed Jan 14 07:14:06 UTC 2026


On Mon, 12 Jan 2026 19:32:53 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

> Hi,
> 
> This PR fixes the assert in `ConnectionGraph::get_addp_base` during escape analysis. The issue here is that, after splitting a `Load` through a `Phi`, we try to adjust the `ConnectionGraph` as the split creates new nodes. As we visit each input of `data_phi`, we fail to take into consideration the possibility that the input can be folded to a `Load` but not from an `AddP`. This is the case for `Object::getClass`, as we load the `OopHandle` from the `Klass` object, then load the class mirror from that `OopHandle`.
> 
> Since we are loading from raw memory, the base is not a scalar replaceable Java object. Similar to the case below, we are done processing this input.
> 
> Please take a look and leave your reviews, thanks a lot.

This pull request has now been integrated.

Changeset: 624d7144
Author:    Quan Anh Mai <qamai at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/624d7144f757c39215ae3dfed1b78cdd3b3e4f8e
Stats:     92 lines in 2 files changed: 91 ins; 0 del; 1 mod

8374435: assert(addp->is_AddP()) failed: must be AddP during EA with -XX:-UseCompressedOops

Reviewed-by: chagedorn, thartmann

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

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


More information about the hotspot-compiler-dev mailing list