1. 07 Nov, 2016 1 commit
  2. 04 Nov, 2016 2 commits
  3. 03 Nov, 2016 1 commit
    • verwaest's avatar
      Turn Scope::locals_ into a ThreadedList · 4fa2ebcb
      verwaest authored
      This turns the ZoneList with minimum 6 words overhead into a linked list through variables, using 2 words for the empty list. Additionally the average number of pointers per entry goes down to the optimal 1 per variable that's in a list.
      
      This does introduce 1 pointer unnecessary overhead for dynamic variables. If that becomes a problem we could distinguish between variables in lists and variables not in lists. We can distinguish them at construction-time.
      
      BUG=v8:5209
      
      Review-Url: https://codereview.chromium.org/2475433002
      Cr-Commit-Position: refs/heads/master@{#40714}
      4fa2ebcb
  4. 26 Oct, 2016 2 commits
  5. 25 Oct, 2016 3 commits
  6. 07 Oct, 2016 3 commits
  7. 23 Sep, 2016 1 commit
  8. 21 Sep, 2016 1 commit
  9. 20 Sep, 2016 2 commits
  10. 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
  11. 14 Sep, 2016 1 commit
  12. 12 Sep, 2016 4 commits
  13. 09 Sep, 2016 1 commit
  14. 07 Sep, 2016 1 commit
    • jochen's avatar
      Chain ScopeInfos together · ce3f46b1
      jochen authored
      This will allow getting the entire scope chain from a SharedFunctionInfo
      which in turn will allow for generating bytecode when we just have the
      SFI
      
      R=verwaest@chromium.org,marja@chromium.org
      BUG=v8:5215
      
      Review-Url: https://codereview.chromium.org/2271993002
      Cr-Commit-Position: refs/heads/master@{#39243}
      ce3f46b1
  15. 06 Sep, 2016 1 commit
  16. 31 Aug, 2016 2 commits
    • adamk's avatar
      Remove CONST_LEGACY VariableMode · 7516fe1e
      adamk authored
      The only remaining use of this VariableMode is for the names of sloppy
      named function expressions. This patch instead uses CONST for such
      bindings (just as we do in strict mode) and instead marks those
      Variables specially. During code generation a new helper method,
      Variable::throw_on_const_assignment(), is called to decide whether
      to throw or silently ignore the assignment.
      
      Review-Url: https://codereview.chromium.org/2233673003
      Cr-Commit-Position: refs/heads/master@{#39052}
      7516fe1e
    • neis's avatar
      [modules] Partial scope info support of modules · 840d1e84
      neis authored
      This introduces a new heap object ModuleInfo, which is to ModuleDescriptor
      what ScopeInfo is to Scope.  When deserializing a scope info that contains
      a module info, we deserialize the module info into a module descriptor and
      put it into the synthesized module scope.
      
      Currently, module infos only store exports.
      
      R=adamk@chromium.org
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2277253003
      Cr-Commit-Position: refs/heads/master@{#39049}
      840d1e84
  17. 29 Aug, 2016 1 commit
  18. 27 Aug, 2016 1 commit
    • verwaest's avatar
      Revert of Always deserialize scope infos for parsing (patchset #3 id:40001 of... · f046cb95
      verwaest authored
      Revert of Always deserialize scope infos for parsing (patchset #3 id:40001 of https://codereview.chromium.org/2280933002/ )
      
      Reason for revert:
      Significantly tanks parsing. We probably should just keep on doing what we're doing: partially deserialize while resolving variables. If we do scope-info backed resolution after regular resolution based on remaining free variables, we can probably reduce the time-frame of that part. We soon after anyway need to sync with the main thread.
      
      Original issue's description:
      > Always deserialize scope infos for parsing
      >
      > When looking up variables in the ScopeInfo, we did a linear scan of the
      > ScopeInfo. Since that's unacceptably slow, a context slot cache was added
      > that would speed up repeated lookups of the same variable.
      >
      > Instead, just always fully convert the ScopeInfo into scopes, so they can
      > lookup variables without scanning the ScopeInfo.
      >
      > This also allows for removing the now unused ContextSlotCache.
      >
      > R=adamk@chromium.org,verwaest@chromium.org,marja@chromium.org
      > BUG=v8:5315
      >
      > Committed: https://crrev.com/81f824cad18e4dc873a8838943217eb9c9f0c1f0
      > Cr-Commit-Position: refs/heads/master@{#38953}
      
      TBR=adamk@chromium.org,marja@chromium.org,jochen@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5315
      
      Review-Url: https://codereview.chromium.org/2287783003
      Cr-Commit-Position: refs/heads/master@{#38958}
      f046cb95
  19. 26 Aug, 2016 4 commits
  20. 24 Aug, 2016 1 commit
  21. 19 Aug, 2016 1 commit
  22. 10 Aug, 2016 1 commit
    • adamk's avatar
      Function name variable does not need a VariableDeclaration · 73b0f157
      adamk authored
      This changes Scope::function_ (for holding the name binding
      for named function expression) from a VariableDeclaration
      to a Variable. No work is done when visiting this declaration,
      since it's kCreatedInitialized, so we can treat it like
      other function-specific variables.
      
      This simplifies a wide variety of code, and centralizes
      the logic for constructing the variable inside scopes.cc.
      This may one day make it easier to eliminate the CONST_LEGACY
      VariableMode.
      
      R=neis@chromium.org, verwaest@chromium.org
      BUG=v8:5209
      
      Review-Url: https://codereview.chromium.org/2232633002
      Cr-Commit-Position: refs/heads/master@{#38558}
      73b0f157
  23. 05 Aug, 2016 3 commits
  24. 01 Aug, 2016 1 commit