RFR: 8256730: Code that uses Object.checkIndex() range checks doesn't optimize well [v2]

Roland Westrelin roland at openjdk.java.net
Fri Nov 20 15:29:05 UTC 2020


On Fri, 20 Nov 2020 15:17:23 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:

>> Roland Westrelin has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
>> 
>>  - build fix
>>  - Merge branch 'master' into JDK-8256730
>>  - step over CastII in range checks & push CastII thru add
>
> src/hotspot/share/opto/castnode.cpp line 269:
> 
>> 267:                               _carry_dependency, _range_check_dependency);
>> 268:     cx->set_req(0, in(0));
>> 269:     cx = phase->transform(cx);
> 
> Hi Roland, have you tested that these calls to `transform()` do not create an explosion of recursive `Ideal()` calls in the face of long AddI chains (see https://github.com/openjdk/jdk/pull/727).

I wondered about that but had no issue during testing. Let me see if I can change your test case to have recursive Ideal() calls.

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

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


More information about the hotspot-compiler-dev mailing list