harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-957) Devirtualize interface calls in DRLVM optimizing JIT-compiler (Jitrino.OPT)
Date Thu, 26 Oct 2006 19:26:34 GMT
     [ http://issues.apache.org/jira/browse/HARMONY-957?page=all ]

Geir Magnusson Jr updated HARMONY-957:

    Patch Info: [Patch Available]

> Devirtualize interface calls in DRLVM optimizing JIT-compiler (Jitrino.OPT)
> ---------------------------------------------------------------------------
>                 Key: HARMONY-957
>                 URL: http://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.
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message