[Webkit-unassigned] [Bug 144956] [ES6] Implement ES6 arrow function syntax. Arrow function specific features. Lexical bind of this
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Jul 31 13:44:31 PDT 2015
https://bugs.webkit.org/show_bug.cgi?id=144956
--- Comment #87 from GSkachkov <gskachkov at gmail.com> ---
Comment on attachment 257762
--> https://bugs.webkit.org/attachment.cgi?id=257762
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=257762&action=review
>> Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:953
>> + fixEdge<FinalObjectUse>(node->child1());
>
> This should probably be:
> fixEdge<KnownCellUse>(node->child1())
Done
>> Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:954
>> + node->convertToIdentity();
>
> This seems wrong. This should be removed.
Done
>> Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:1275
>> + m_insertionSet.insertNode(m_indexInBlock, SpecNone, Check, node->origin,
>
> What is this doing?
> I think it should be removed.
Ohh, I've removed only line 1274, without 1275 it raises error during tests
>> Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:843
>> + case NewArrowFunction:
>
> Lets focus on getting this properly working in the DFG before spending time getting the allocation sinking phase right.
> Allocation sinking is only run when we compile into the FTL. That said, some basic comments below:
>
> We will need to change this a bit to incorporate the bound this of the arrow function.
> Look below at FunctionActivationPLoc/FunctionExecutablePLoc. Maybe you would
> create a FunctionBoundThisPLoc.
I've added new FunctionBoundThisPLoc
>> Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:988
>> + if (target && target->isFunctionAllocation())
>
> isFunctionAllocation() should return true for NewArrowFunction.
Done
>> Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:990
>> + else
>
> Why would this ever not be a function? That seems like it'd be wrong.
It is the same as for GetScope, except instead of FunctionActivationPLoc is used FunctionActivationPLoc
>> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:4599
>> +void SpeculativeJIT::compileNewFunction(Node* node, NodeType nodeType)
>
> You don't need NodeType as a parameter to this function. Node will have that information.
Done
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150731/3ed8d662/attachment-0001.html>
More information about the webkit-unassigned
mailing list