On 24 Jul 2006 12:17:18 +0700, Egor Pasko <[EMAIL PROTECTED]> wrote:

Interesting results! QuickQuestions:
* did you include interface calls in your investigations. Or is it
  just invokevirtual that you tried?


I have no idea what was the way of calling a method. The result shows only
the percentage of actual calls of virtual methods on the top of class
hierarchy / number of total virtual calls.

* Why do you count number of methods with mult-dispatches? I would
  count only interface calls having multiple dispatches.


I checked only methods with multiple virtual versions, because this is the
only case devirtualizer have a choice. If method is virtual but has only one
version (method is not overridden) it's impossible to make a mistake in
devirtualization :)


For me it is interesting if
the patch handles the situations when classes are loaded from time to
time. We need to check each interface call for having multiple
dispatches (at runtime).


But if we have a recompilation we can be sure that all of "hot" classes and
methods are already loaded.

I created HARMONY-957 for the issue and attached my benchmark. You can
put your patch there, please.


My patch is a hack in entry-backedge profiler code. So I will put it with
comments like 'this is just an example, not to be included to harmony code'

OK, see you soon :)


Hope I finish it till the end of the week. Any help from other people
interested in harmony development is welcome :)

+ I'm going to ask Pavel Pervov who wants to refactor Class.h code to add
more methods to simplify CHA analysis. The way I look for the virtual copy
of method in superclass in my patch is really ugly.

--
Mikhail Fursov

Reply via email to