<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [JSC] implement async functions proposal"
   href="https://bugs.webkit.org/show_bug.cgi?id=156147#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [JSC] implement async functions proposal"
   href="https://bugs.webkit.org/show_bug.cgi?id=156147">bug 156147</a>
              from <span class="vcard"><a class="email" href="mailto:caitp&#64;igalia.com" title="Caitlin Potter (:caitp) &lt;caitp&#64;igalia.com&gt;"> <span class="fn">Caitlin Potter (:caitp)</span></a>
</span></b>
        <pre>Hi,

I've come a long way with this, passing most of the tests from Mozilla's implementation, and numerous additional ones as well.

There are some bits that I could use some pointers on, including:

1) I'm not sure if the intern'd keyword strings are used unless &quot;async&quot; or &quot;await&quot; are defined as keywords --- so my little `isAsyncKeyword()` and `isAwaitKeyword()` helpers might be more expensive than they should be. I guess tokenizing them as keywords always and using the strategy that the &quot;yield&quot; keyword uses is a better approach, but maybe it doesn't matter?

2) currently, home object is always loaded for async arrow functions, and put in the &quot;generator&quot; object --- this wasn't needed a few days ago, but after a recent rebase, it became necessary to pass the `async_arrow_functions_lexical_super_binding.js&quot; test. I'd like to only do this when it's really needed (lexically scoped within a derived method or constructor). Could use some pointers on producing the right scope information to make this work.

3) for a big thing like this, it's a sought after feature that people are excited to use, but it might slow down the usual workflow a bit, and therefore might do with a compile-time flag, to prevent hurting code load performance for typical use. If a runtime flag is feasible, that would be a good option as well. I'm more accustomed to the V8 and Blink style of feature flags, so I'm not quite sure what to do here for that.

Anyways, I'll do some self review and continue working on this during the week. Feedback is welcome.</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>