RFR: 8215560: [lworld] Investigate if method handle calls can be further optimized

Tobias Hartmann tobias.hartmann at oracle.com
Wed Mar 13 13:44:44 UTC 2019

Hi Roland,

On 13.03.19 11:02, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/8215560/webrev.00/
> Code patterns with a merge of 2 method handle invokes, one inlined and
> of known return value and one not inlined of unknown return value used
> to be optimized before Lworld. They are harder (if at all possible) to
> optimize in Lworld and that use case seems a lot less important now. So
> I chose to remove IR verification for those tests.

That seems reasonable to me. Please remove the -DVerifyIR=true in the test, it's enabled by default.

> Other than that I found that return with the new calling convention
> would sometimes keep some useless value buffering alive. I added a pass
> to find those.

How can it happen that ret_val->outcnt() != 0 but return_val_keeps_allocations_alive() returns true?

Small typo: "return value keeps otherwise" -> "return value keep otherwise"

Please close JDK-8220357 as duplicate.


More information about the valhalla-dev mailing list