1. 02 Feb, 2018 1 commit
  2. 28 Nov, 2016 1 commit
    • jochen's avatar
      Assign unique IDs to FunctionLiterals · cfebe603
      jochen authored
      They're supposed to be stable across several parse passes, so we'll also
      store them in the associated SharedFunctionInfos
      
      To achieve this, the PreParser and Parser need to generated the same number of
      FunctionLiterals. To achieve this, we teach the PreParser about desuggaring of
      class literals.
      
      For regular functions, the function IDs are assigned in the order they occur in
      the source. For arrow functions, however, we only know that it's an arrow function
      after parsing the parameter list, and so the ID assigned to the arrow function is
      larger than the IDs assigned to functions defined in the parameter list. This
      implies that we have to reset the function ID counter to before the parameter list
      when re-parsing an arrow function. To be able to do this, we store the number of
      function literals found in the parameter list of arrow functions as well.
      
      BUG=v8:5589
      
      Review-Url: https://codereview.chromium.org/2481163002
      Cr-Commit-Position: refs/heads/master@{#41309}
      cfebe603