[Webkit-unassigned] [Bug 71191] The DFG inliner should not flush the callee

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Oct 30 15:43:42 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=71191





--- Comment #3 from Filip Pizlo <fpizlo at apple.com>  2011-10-30 15:43:42 PST ---
(In reply to comment #2)
> (From update of attachment 112997 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=112997&action=review
> 
> It would be nice is we could elide the argument flushing when we can prove no OSRs will happen

Most of the argument flushes seem to be:

1) Flushing a constant
2) Flushing a value that is provably equal to the argument to the machine code block
3) Flushing a value that was already flushed because it was provably equal to an argument to something higher up in the inline stack.

I'm planning on doing optimizations for these cases once I write a test suite (well, a suite of LayoutTests) for arguments handling combined with inlining and OSR.  Right now I consider those optimizations too risky since I don't even know if that functionality works.

> 
> > Source/JavaScriptCore/bytecode/CodeOrigin.h:81
> >      unsigned stackOffset;
> > -    unsigned calleeVR;
> > +    WriteBarrier<JSFunction> callee;
> >      CodeOrigin caller;
> 
> can we move stackOffset down the struct? changing from an unsigned to a pointer should increase alignment requirements so i think this ends up increasing the struct size by 12 bytes rather than 4

Good point, made that change.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list