You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Mikhail Fursov (JIRA)" <ji...@apache.org> on 2007/08/14 05:41:30 UTC

[jira] Resolved: (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:all-tabpanel ]

Mikhail Fursov resolved HARMONY-4561.
-------------------------------------

    Resolution: Fixed

Committed revision 565339

> [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.