harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Naveen Neelakantam <neela...@uiuc.edu>
Subject Re: [drlvm][jit] replay compilation methodology
Date Fri, 25 Apr 2008 16:23:10 GMT

On Apr 25, 2008, at 10:32 AM, Egor Pasko wrote:

> On the 0x431 day of Apache Harmony Naveen Neelakantam wrote:
>> On Apr 25, 2008, at 8:35 AM, Egor Pasko wrote:
>>>> The problem is that a staged optimizing-compiler (e.g.  
>>>> server.emconf)
>>>> can make it difficult to isolate the performance effects of a
>>>> particular compiler optimization or GC algorithm because the  
>>>> compiler
>>>> runs concurrently with the application/GC.
>>>> A reasonable solution to this problem is the following:
>>>> 1) Run the application with the staged compiler enabled and  
>>>> collect a
>>>> log of its actions.
>>>> 2) When measuring performance, run the application twice in a row,
>>>> within the same JVM instance.  During the first run the JVM  
>>>> consumes
>>>> the log produced in (1) and uses it to optimize the code exactly  
>>>> the
>>>> same as in (1).  During the second run the compiler is disabled and
>>>> measurements are made.
>>> then just dump profile at EdgeProfilerAnnotationPass and then reload
>>> in (2). Should solve the problem, IMHO.
>> Really?  That seems insufficient because of value-profile-based
>> devirtualization.  The edge profile is only part of the story right?
> Oh, I forgot. Nice catch! same in GuardedDevirtualizationPass.

Phew.  Ok, that's what I'm currently implementing.  I'll report back  
when I have something to share (hopefully a success story).

View raw message