Hi,

This PR redos [JDK-8377414](https://bugs.openjdk.org/browse/JDK-8377414). While 
at it, I encountered [JDK-8383416](https://bugs.openjdk.org/browse/JDK-8383416) 
when a `CastPPNode` is pushed through an unbuffered `InlineTypeNode`, which 
results in the oop input being `top`. This incorrectly kills the graph. I tried 
fixing JDK-8383416 alone but I encountered the issue with acmp expansion 
passing the incorrect base to `InlineTypeNode::check_substitutability`. As a 
result, this PR aims at fixing both issues.

It is easier reviewing each commit. The first one just reverts the backout PR, 
the second one ensures that the expansion does not modify the memory, and the 
third commit fixes JDK-8383416.

Testing:

- [x] tier1-4,valhalla-comp-stress

Please take a look and leave your review, thanks a lot.

---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

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

Commit messages:
 - Only push a Cast through an InlineTypeNode if the InlineTypeNode is buffered
 - Fix acmp accidentally writes to memory
 - Revert "8377680: [lworld] [BACKOUT] Improve acmp expansion"

Changes: https://git.openjdk.org/valhalla/pull/2376/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2376&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8381826
  Stats: 645 lines in 9 files changed: 412 ins; 122 del; 111 mod
  Patch: https://git.openjdk.org/valhalla/pull/2376.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2376/head:pull/2376

PR: https://git.openjdk.org/valhalla/pull/2376

Reply via email to