RFR: 8335977: Deoptimization fails with assert "object should be reallocated already" [v2]
Tobias Hartmann
thartmann at openjdk.org
Wed Oct 30 10:13:06 UTC 2024
On Tue, 29 Oct 2024 22:50:30 GMT, Cesar Soares Lucas <cslucas at openjdk.org> wrote:
>> Please, review this patch to fix an issue that may occur when serializing debug information related to reduce allocation merges. The problem happens when there are more than one JVMS in a `uncommon_trap` and a _younger_ JVMS doesn't have the RAM inputs as a local/expression/monitor but an older JVMS does. In that situation the loop at line 1173 of output.cpp will set the `is_root` property of the ObjectValue to `false` when processing the younger JVMS even though it may have been set to `true` when visiting the older JVMS.
>>
>> Tested on:
>> - Win, Mac & Linux tier1-4 on x64 & Aarch64.
>> - CTW with some thousands of jars.
>
> Cesar Soares Lucas has updated the pull request incrementally with one additional commit since the last revision:
>
> Address PR feedback: typo on test & refactor in output.cpp.
Looks good to me too.
src/hotspot/share/opto/output.cpp line 1182:
> 1180: bool is_root = locarray->contains(ov) ||
> 1181: exparray->contains(ov) ||
> 1182: contains_as_owner(monarray, ov) ||
Indentation is slightly off here.
-------------
Marked as reviewed by thartmann (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/21624#pullrequestreview-2404275120
PR Review Comment: https://git.openjdk.org/jdk/pull/21624#discussion_r1822282197
More information about the hotspot-compiler-dev
mailing list