RFR: 8286104: use aggressive liveness for unstable_if traps [v2]

Vladimir Kozlov kvn at openjdk.java.net
Tue May 17 18:46:01 UTC 2022


On Tue, 17 May 2022 18:16:17 GMT, Xin Liu <xliu at openjdk.org> wrote:

> > You call process_for_unstable_ifs in 2 places. I understand why you want to do that before inline_boxing_calls(). But why before inline_incrementally()? Why you need second call?
> 
> The first call secures the microbenchmark score because it can remove boxing objects completely. I think incremental inliner and special inlining such as boxing or string methods could also introduce similar code snippets. I would like to sweep again for them. Is it necessary?

After some thinking we may need 3rd call before inlining boxing calls.


   if (eliminate_boxing()) {
+   process_for_unstable_ifs(igvn); // incremental inlining may added new unstable ifs.

    // Inline valueOf() methods now.
    inline_boxing_calls(igvn);

    if (AlwaysIncrementalInline) {
      inline_incrementally(igvn);
    }

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

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


More information about the hotspot-compiler-dev mailing list