<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [ES6] Implement ES6 arrow function syntax. Arrow function specific features. Lexical bind of this"
   href="https://bugs.webkit.org/show_bug.cgi?id=144956#c34">Comment # 34</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [ES6] Implement ES6 arrow function syntax. Arrow function specific features. Lexical bind of this"
   href="https://bugs.webkit.org/show_bug.cgi?id=144956">bug 144956</a>
              from <span class="vcard"><a class="email" href="mailto:fpizlo&#64;apple.com" title="Filip Pizlo &lt;fpizlo&#64;apple.com&gt;"> <span class="fn">Filip Pizlo</span></a>
</span></b>
        <pre>Comment on <span class=""><a href="attachment.cgi?id=256003&amp;action=diff" name="attach_256003" title="Patch">attachment 256003</a> <a href="attachment.cgi?id=256003&amp;action=edit" title="Patch">[details]</a></span>
Patch

View in context: <a href="https://bugs.webkit.org/attachment.cgi?id=256003&amp;action=review">https://bugs.webkit.org/attachment.cgi?id=256003&amp;action=review</a>

The thing that should be conditional on ENABLE_ES6_ARROWFUNCTION_SYNTAX is the code in the parser.

Then, you could just make JSArrowFunction be unconditionally available, which removes all of the #if's in the compiler.

<span class="quote">&gt; Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:1
&gt; -&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&gt; +&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;</span >

You should probably revert this.

<span class="quote">&gt; Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h:92
&gt; +#define FOR_EACH_ABSTRACT_FIELD_ARROWFUNCTION(macro) \</span >

If you made JSArrowFunction non-conditional, then you wouldn't need this.

<span class="quote">&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:3147
&gt; +#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)</span >

Ditto.

<span class="quote">&gt; Source/JavaScriptCore/runtime/JSArrowFunction.h:29
&gt; +#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)</span >

I would remove this conditional here.  You could always declare the class.  Then, you need fewer conditionals elsewhere in the system, and it simplifies how you do the abstract heap repo in the FTL, for example.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>