RFR: 8263781: C2: Cannot hoist independent load above arraycopy [v2]
Richard Reingruber
rrich at openjdk.java.net
Fri Mar 19 19:20:52 UTC 2021
> This change adds the following comment to the method LoadNode::find_previous_arraycopy()
>
> // Find an arraycopy ac that produces the memory state represented by parameter mem.
> // Return ac if
> // (a) can_see_stored_value=true and ac must have set the value for this load or if
> // (b) can_see_stored_value=false and ac could have set the value for this load or if
> // (c) can_see_stored_value=false and ac cannot have set the value for this load.
> // In (c) also change the parameter mem to the memory input of ac.
> // Otherwise return NULL.
>
> It also repairs case (c) to let it return ac again as this was lost in previous refactoring (see issue).
>
> The fix passed our CI testing: JCK and JTREG, also in Xcomp mode, SPECjvm2008, SPECjbb2015, Renaissance Suite,
> SAP specific tests with fastdebug and release builds on all platforms
Richard Reingruber has updated the pull request incrementally with one additional commit since the last revision:
Improve comment.
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/3070/files
- new: https://git.openjdk.java.net/jdk/pull/3070/files/d5507a8a..82d2c155
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3070&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3070&range=00-01
Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/3070.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3070/head:pull/3070
PR: https://git.openjdk.java.net/jdk/pull/3070
More information about the hotspot-compiler-dev
mailing list