[webkit-dev] recompilation in dfg

Filip Pizlo fpizlo at apple.com
Fri Oct 12 18:36:39 PDT 2012

Two bad things could have happened:

1) OSR entry failed.  That's rare.  You could try to put some logging in prepareOSREntry.

2) The GC decided that it didn't want to keep your code around anymore.  We have heuristics for doing this even if your code doesn't OSR exit, and even when the owning function is still live.  The reason is that the generated machine code may have pointers to the heap.  If those objects are not otherwise live, the GC has to either make them live (which could increase footprint) or kill the DFG code block.  It will often do the latter.

As Maciej suggests, a bug report would be great.  We are always interested in looking at programs where our heuristics fail.


On Oct 12, 2012, at 6:26 PM, Blake Fiddler <blake.fiddler at gmail.com> wrote:

> Hi.
> I have some example in which my function recompiling in dfg jit (it's parsing in second time without OSR exits).
> Can you explain me why that happens and in which cases? 
> Regards, Blake.

More information about the webkit-dev mailing list