You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Geir Magnusson Jr (JIRA)" <ji...@apache.org> on 2006/08/02 18:45:15 UTC
[jira] Assigned: (HARMONY-957) Devirtualize interface calls in
DRLVM optimizing JIT-compiler (Jitrino.OPT)
[ http://issues.apache.org/jira/browse/HARMONY-957?page=all ]
Geir Magnusson Jr reassigned HARMONY-957:
-----------------------------------------
Assignee: Geir Magnusson Jr
> 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
> Assigned To: Geir Magnusson Jr
> 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 optimizations
> 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