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

Tobias Hartmann thartmann at openjdk.org
Tue Jan 13 08:52:39 UTC 2026


On Tue, 13 Jan 2026 08:38:43 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.
>
> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
> 
>   rename test file

Looks good to me too. Thanks for fixing this!

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

Marked as reviewed by thartmann (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/29177#pullrequestreview-3654612771


More information about the hotspot-compiler-dev mailing list