[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
Sun Aug 9 09:22:22 PDT 2015


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

--- Comment #110 from GSkachkov <gskachkov at gmail.com> ---
Comment on attachment 258505
  --> https://bugs.webkit.org/attachment.cgi?id=258505
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=258505&action=review

Ohh, it seems that I forget to post what I did in last patch

>> Source/JavaScriptCore/bytecode/BytecodeUseDef.h:119
>> +    case op_new_arrow_func_exp:
> 
> This needs to also report the bound this operand as a use.

Do you mean that that op_new_arrow_func_exp should have name that report about bound |this|, for instance op_new_arrow_func_exp_with_bound_this? I'm not sure, because arrow function also has lexical |arguments| binding, and |super|, |new.target| as well, so after implementing some of this feature we need to change this name.

>> Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp:83
>> +UnlinkedFunctionExecutable::UnlinkedFunctionExecutable(VM* vm, Structure* structure, const SourceCode& source, RefPtr<SourceProvider>&& sourceOverride, FunctionBodyNode* node, UnlinkedFunctionKind kind, ConstructAbility constructAbility, VariableEnvironment& parentScopeTDZVariables, bool isArrowFunction)
> 
> Lets make FunctionBodyNode know about whether or not it's an arrow function instead of having an extra parameter.
> (FunctionBodyNode is poorly named but it's job is to keep track of information like this).

Done

>> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1743
>> +        if (JSValue base = forNode(node->child1()).m_value) {
> 
> Will it ever be the case that this is true and the below dynamic case will return nullptr?

No I think no, only function or exception, so I've removed condition.

>> Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:175
>> +enum FunctionExpressionType { ArrowFunctionExpressionType, CommonFunctionExpressionType};
> 
> Is this used?

Removed

-- 
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/20150809/0bb5d3c0/attachment.html>


More information about the webkit-unassigned mailing list