harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Varlamov (JIRA)" <j...@apache.org>
Subject [jira] Closed: (HARMONY-957) [drlvm][jit] Devirtualize interface calls in DRLVM optimizing JIT-compiler (Jitrino.OPT)
Date Mon, 12 Mar 2007 12:04:10 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Alexey Varlamov closed HARMONY-957.

    Resolution: Fixed

Closing as requested.

> [drlvm][jit] Devirtualize interface calls in DRLVM optimizing JIT-compiler (Jitrino.OPT)
> ----------------------------------------------------------------------------------------
>                 Key: HARMONY-957
>                 URL: https://issues.apache.org/jira/browse/HARMONY-957
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>         Environment: all
>            Reporter: Egor Pasko
>            Priority: Minor
>         Attachments: IntfcCaller.java, patch.zip
> Currently DRLVM does *not* devirtualize interface calls. 
> here are some ideas how to implement this feature (from easiest to complicated)
> 0) if there is only one loaded class to implement the interface, choose it
> 1) if there are more, choose the one with it's method invoked earlier (compiled  by some
JIT, possibly, some other JIT), 
> 2) if we have many candidate methods that are compiled, choose the most frequent  one
(need a method-entry profile)
> 3) initial compilation can devirtualize all possible dispatches and count their edge
frequencies so we can rely on basic profiler when choosing the best path (on recompilation)
> 4) implement a real value profiler - this is not an easy task, but may be reused in other
> 5) Add special annotations to classlib code about the most probable dispatch. E.g. if
the variable type does not depend on user's environment and developer can prove that 90% of
time the variable is of specific class - JIT can read this annotation from method during the
compilation and to devirtualize it.

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

View raw message