[Webkit-unassigned] [Bug 131515] Inlining native functions into the JavaScript in the FTL

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Apr 11 16:53:16 PDT 2014


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


Filip Pizlo <fpizlo at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #229180|review?, commit-queue?      |review-, commit-queue-
               Flag|                            |




--- Comment #6 from Filip Pizlo <fpizlo at apple.com>  2014-04-11 16:53:35 PST ---
(From update of attachment 229180)
View in context: https://bugs.webkit.org/attachment.cgi?id=229180&action=review

Does this have heuristics for deciding not to inline functions that are too big?  

What is the performance impact?

> Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:126
> +
> +

I don't think we should have a double-space here.

> Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:3560
> +            LType tyCallee;

"tyCallee" isn't a very good variable name.  We don't usually use abbreviations in WebKit.  "calleeType" would be better.

> Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:3584
> +                llvm->GetParamTypes(tyCallee, &tyCalleeArg);
> +                LValue call = m_out.call(callee, 
> +                    m_out.bitCast(m_out.address(m_execState, m_heaps.CallFrame_callerFrame ).value(), tyCalleeArg));

This doesn't actually inline, right?  If so, you should either change the name of this bug, or implement the inlining.  That probably involves adding some inlining phases to the LLVM pipeline in FTLCompile.cpp.

> Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:3601
> +                return;

This should be indented 4 fewer spaces.

> Source/JavaScriptCore/ftl/FTLOutput.h:213
> +    LValue allocaName(LType type, const char* nm) { return llvm->BuildAlloca(m_builder, type, nm); }

Why do you need to use the name?  We usually don't name LLVM instructions.  Also, it seems like you don't use this.

-- 
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