RFR: 8373591: C2: Fix the memory around some intrinsics nodes [v5]
Quan Anh Mai
qamai at openjdk.org
Fri Jan 30 03:00:55 UTC 2026
On Fri, 30 Jan 2026 02:38:57 GMT, Dean Long <dlong at openjdk.org> wrote:
> This may be unrelated, but I checked to see if we treat `Op_EncodeISOArray` the same as `Op_StrCompressedCopy` everywhere. In two places in `ConnectionGraph::split_unique_types`, we treat them differently. For both we look at `in(MemNode::Memory)`, but for `Op_EncodeISOArray` we also look at `use->in(3)`. I don't understand this code well enough to decide if this a missing optimization or a correctness issue.
I believe it is because before this change, `EncodeISOArray` does not consume the memory of the destination like `StrCompressed`, so it may miss being pushed on the worklist. As a result, checking for `in(3)` ensures the node is visited. After this change, `EncodeISOArray` correctly consumes the memory of its destination, so that become unnecessary.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28789#issuecomment-3821535212
More information about the hotspot-compiler-dev
mailing list