You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Pavel Ozhdikhin (JIRA)" <ji...@apache.org> on 2007/07/27 20:46:53 UTC

[jira] Commented: (HARMONY-4561) [drlvm][jit] Code regions that are reachable by exception paths only are ignored by inliner.

    [ https://issues.apache.org/jira/browse/HARMONY-4561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12516073 ] 

Pavel Ozhdikhin commented on HARMONY-4561:
------------------------------------------

This should help to enable inlining on the exception path:
-XX:jit.arg.inline.skip_exception_path=false


> [drlvm][jit] Code regions that are reachable by exception paths only are ignored by inliner.
> --------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4561
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4561
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>            Assignee: Mikhail Fursov
>
> For the test:
> public class TestExceptions {
>    public static void main(String[] args) {
>        //warmup VM first
>        tryRaiseExceptions(1);
>        long start = System.currentTimeMillis();
>        tryRaiseExceptions(1000000);
>        long res = System.currentTimeMillis() -start;
>        System.out.println("completed in "+res+" msec");
>    }
>    public static void tryRaiseExceptions(int n) {
>        for(int i=0; i<n; i++)
>            try{
>                throw new TException();
>            }catch(TException throwable){
>                TException ts = Test2.test(throwable);
>            }
>    }
> }
> public class Test2  {
>   public static TException test(TException thr) {
>       return thr;
>   }
> }
> public class TException  extends RuntimeException {
> }
> this region is marked as HOT after edge profile annotation but Test2.call is not inlined.
>            }catch(TException throwable){
>                TException ts = Test2.test(throwable);
>            }
> Moreover,  if I annotate Test2.test method with @inline pragma this call is also not inlined.
> This makes me think that our inliner ignores code that is reachable by exceptions only paths in its analysis.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.