http://cr.openjdk.java.net/~neliasso/7152961/webrev/
<http://cr.openjdk.java.net/%7Eneliasso/7152961/webrev/>

7152961 InlineTree::should_not_inline may exit prematurely

In the middle of InlineTree::should_not_inline there is a check that
makes trivial sized method return NULL/false early.

"// use frequency-based objections only for non-trivial methods"

So any relevant clause after will never be run for many very small
methods. One effect is that compilerOracle dont-inline commands are not
always respected. This does not seem to be the intention.

Moving compilerOracle and string cache heuristics above that check,
leaving the clauses that actually depend on frequency/profiling in place.

Thanks,
Nils E.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20120312/6bfa2ab3/attachment.html

Search Discussions

  • Vladimir Kozlov at Mar 12, 2012 at 8:32 am
    Good.

    Vladimir
    On 3/12/12 2:28 AM, Nils Eliasson wrote:
    http://cr.openjdk.java.net/~neliasso/7152961/webrev/ <http://cr.openjdk.java.net/%7Eneliasso/7152961/webrev/>

    7152961 InlineTree::should_not_inline may exit prematurely

    In the middle of InlineTree::should_not_inline there is a check that makes trivial sized method return NULL/false early.

    "// use frequency-based objections only for non-trivial methods"

    So any relevant clause after will never be run for many very small methods. One effect is that compilerOracle
    dont-inline commands are not always respected. This does not seem to be the intention.

    Moving compilerOracle and string cache heuristics above that check, leaving the clauses that actually depend on
    frequency/profiling in place.

    Thanks,
    Nils E.
  • Tom Rodriguez at Mar 12, 2012 at 11:27 am
    Ok.

    tom
    On Mar 12, 2012, at 2:28 AM, Nils Eliasson wrote:

    http://cr.openjdk.java.net/~neliasso/7152961/webrev/

    7152961 InlineTree::should_not_inline may exit prematurely

    In the middle of InlineTree::should_not_inline there is a check that makes trivial sized method return NULL/false early.

    "// use frequency-based objections only for non-trivial methods"

    So any relevant clause after will never be run for many very small methods. One effect is that compilerOracle dont-inline commands are not always respected. This does not seem to be the intention.

    Moving compilerOracle and string cache heuristics above that check, leaving the clauses that actually depend on frequency/profiling in place.

    Thanks,
    Nils E.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouphotspot-compiler-dev @
categoriesopenjdk
postedMar 12, '12 at 2:28a
activeMar 12, '12 at 11:27a
posts3
users3
websiteopenjdk.java.net

People

Translate

site design / logo © 2021 Grokbase