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