RFR: 8262837: handle split_USE correctly [v3]

kuaiwei github.com+1981974+kuaiwei at openjdk.java.net
Wed Mar 3 08:40:13 UTC 2021


> I look into reg_split.cpp and found a potential issue.
> Function split_USE usually creates a new spill copy node, but in some cases it just connect def to use and no new node created. But in caller side, they will assume it will create a new node. The code is like:
> ++
> maxlrg = split_USE(...)
> if (!maxlrg) {
>    return 0;
> }
> insidx++;  // Reset iterator to skip USE side split
> So if no node is created, the iterator index is updated and the next instruction will be skipped.
> 
> The change is let split_USE return the new node count, so the caller can update its index and maxlrg.

kuaiwei has updated the pull request incrementally with one additional commit since the last revision:

  8262837: handle split_USE correctly

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2791/files
  - new: https://git.openjdk.java.net/jdk/pull/2791/files/6ef827c2..1fa77b7f

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2791&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2791&range=01-02

  Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2791.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2791/head:pull/2791

PR: https://git.openjdk.java.net/jdk/pull/2791


More information about the hotspot-compiler-dev mailing list