The problem goes deeper than non-inlining these methods.

It is caused by OSR timing in generate method and the way we gather
(guess) polymorphic type feedback.

When we transition from MONOMORPHIC to MEGAMORPHIC stub we don't put
previously seen monomorphic stub into the stub cache so we need at
least one more execution to see it there.

I am working on the fix.

As a side effect we should get approximately a factor of 1.8 speedup
on oscillator :-)

--
Vyacheslav Egorov


On Thu, Mar 15, 2012 at 3:31 PM, Vyacheslav Egorov <[email protected]> wrote:
> Yes, I can reproduce.
>
> We are actually getting one less deopt and this causes regression.
>
> Before r11041 for the first compilation of calcOsc we would emit div-i
> for 1/nthHarmonic (which was obviously wrong) and that would cause a
> deopt and reoptimization later.
>
> Now we correctly get div-d and don't deopt. But the first compilation
> happens when ICs for generate and add calls are in pre-monomorphic
> state so we don't inline them. This is what causes the regression.
>
> If I try to run ./d8 with --nouse-inlining at r11040 I get same bad 
> performance.
>
> I'll look into fixing it.
>
> --
> Vyacheslav Egorov
>
>
> On Thu, Mar 15, 2012 at 2:10 PM, M Capewell <[email protected]> 
> wrote:
>> Yes, r11055 restores DFT performance. Oscillator is still suffering, but
>> that doesn't show any additional deopts.
>>
>> --
>> v8-dev mailing list
>> [email protected]
>> http://groups.google.com/group/v8-dev

-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to