RFR: 8263781: C2: Cannot hoist independent load above arraycopy [v2]

Tobias Hartmann thartmann at openjdk.java.net
Tue Mar 23 06:44:39 UTC 2021


On Fri, 19 Mar 2021 19:20:52 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

>> 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.

Marked as reviewed by thartmann (Reviewer).

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

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


More information about the hotspot-compiler-dev mailing list