1. 11 Jul, 2018 1 commit
    • Leszek Swirski's avatar
      [modules] Make exported variable indices stable · e39b90f6
      Leszek Swirski authored
      A module's exported variables are assigned a cell index based on their
      order in the exported variable map. This map is keyed by the variable
      name, an AstRawString*.
      
      Unfortunately, these string pointers are not guaranteed to increase
      monotonically as variables are encountered, which means that this map
      isn't stable across parses. In particular, it can cause failures for
      setVariableValue if the parser is unlucky.
      
      This patch adds a custom comparator to these AstRawString* keyed maps,
      which is stable across parses.
      
      Change-Id: Ie6e88fc2d252d873de661d7fc5278feba3955727
      Reviewed-on: https://chromium-review.googlesource.com/1131503Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54379}
      e39b90f6
  2. 19 Oct, 2017 1 commit
  3. 21 Jun, 2017 1 commit
  4. 17 Mar, 2017 1 commit
  5. 01 Feb, 2017 1 commit
  6. 07 Nov, 2016 2 commits
  7. 04 Nov, 2016 1 commit
    • neis's avatar
      [modules] Assign cell indices at validation time. · 1dd241c4
      neis authored
      Instead of having a MODULE variable's index be 0 or 1, let it be the index of
      its cell.  In this CL, we assign the indices but we continue to only use them to
      distinguish imports from exports.  Actually using them to directly access the
      cells will be done in a later CL.
      
      R=adamk@chromium.org
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2460233003
      Cr-Commit-Position: refs/heads/master@{#40752}
      1dd241c4
  8. 26 Oct, 2016 1 commit
  9. 23 Sep, 2016 2 commits
    • neis's avatar
      [modules] Simplify treatment of empty imports. · f9e9a016
      neis authored
      There's no reason (anymore) to have empty imports in special_imports.  Remove
      them from there and rename special_imports to namespace_imports to be more
      precise.
      
      R=adamk@chromium.org
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2368613002
      Cr-Commit-Position: refs/heads/master@{#39693}
      f9e9a016
    • neis's avatar
      [modules] Do basic linking. · d7858e35
      neis authored
      Resolve imports and indirect exports at instantiation time.
      
      With this CL we have some basic functionality for modules working.  Not yet
      supported: star exports, namespace imports, cycle detection, proper variable
      initialisation in mutually recursive modules.
      
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2362083002
      Cr-Commit-Position: refs/heads/master@{#39689}
      d7858e35
  10. 22 Sep, 2016 1 commit
  11. 21 Sep, 2016 1 commit
  12. 20 Sep, 2016 1 commit
  13. 19 Sep, 2016 1 commit
    • neis's avatar
      [modules] Explicitly keep track of module requests. · c5785bfb
      neis authored
      We must keep track of the exact order in which modules are requested.
      To do so, maintain a map from module specifiers to position while
      parsing (in ModuleDescriptor). Descriptor entries now refer to that
      position rather than the string.  When generating the ModuleInfo, turn
      this map into an array of specifiers. We don't need the map anymore
      later on, so we do not reconstruct it when deserializing again.
      
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2353633002
      Cr-Commit-Position: refs/heads/master@{#39519}
      c5785bfb
  14. 15 Sep, 2016 1 commit
  15. 14 Sep, 2016 2 commits
  16. 12 Sep, 2016 3 commits
  17. 05 Sep, 2016 2 commits
  18. 29 Aug, 2016 1 commit
  19. 26 Aug, 2016 1 commit
  20. 25 Aug, 2016 1 commit
  21. 18 Aug, 2016 1 commit
  22. 10 Aug, 2016 2 commits
  23. 08 Aug, 2016 1 commit
  24. 05 Aug, 2016 3 commits
  25. 18 Jul, 2016 1 commit
    • neis's avatar
      [modules] AST and parser rework. · 0e000a87
      neis authored
      Highlights:
      - Record all imports and exports in the ModuleDescriptor.
      - Remove ImportDeclaration; instead, introduce a new variable kind for imports.
      - Set name on default exported anonymous functions.
      
      Still to do: declaration of namespace imports.
      
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2108193003
      Cr-Commit-Position: refs/heads/master@{#37815}
      0e000a87
  26. 16 Jan, 2016 1 commit
    • adamk's avatar
      [ast cleanup] Remove unnecessary frozen_ bit from ModuleDescriptor · dc6a5939
      adamk authored
      This may have made more sense in the old module design (where
      "unification" was a thing), but as-is it's only used for a few
      asserts in debug mode. These asserts don't make much sense inside
      ModuleDescriptor; instead, as the modules implementation is fleshed
      out, I expect the appropriate replacement asserts to show up at the
      use of the ModuleDescriptor.
      
      Review URL: https://codereview.chromium.org/1598433006
      
      Cr-Commit-Position: refs/heads/master@{#33345}
      dc6a5939
  27. 26 Nov, 2015 1 commit
  28. 30 Sep, 2015 1 commit
  29. 09 Apr, 2015 1 commit
  30. 27 Feb, 2015 1 commit
  31. 19 Feb, 2015 1 commit