1. 22 Mar, 2016 1 commit
    • adamk's avatar
      Remove support for legacy const, part 1 · ed18aa65
      adamk authored
      Now that ES2015 const has shipped, in Chrome 49, legacy const declarations
      are no more. This lets us remove a bunch of code from many parts of the
      codebase.
      
      In this patch, I remove parser support for generating legacy const variables
      from const declarations. This also removes the special "illegal declaration"
      bit from Scope, which has ripples into all compiler backends.
      
      Also gone are any tests which relied on legacy const declarations.
      
      Note that we do still generate a Variable in mode CONST_LEGACY in one case:
      function name bindings in sloppy mode. The likely fix there is to add a new
      Variable::Kind for this case and handle it appropriately for stores in each
      backend, but I leave that for a later patch to make this one completely
      subtractive.
      
      Review URL: https://codereview.chromium.org/1819123002
      
      Cr-Commit-Position: refs/heads/master@{#35002}
      ed18aa65
  2. 11 Jan, 2016 1 commit
    • littledan's avatar
      Ship ES2015 sloppy-mode const semantics · 95145fa8
      littledan authored
      This patch moves the semantics of 'const' in sloppy mode to match those
      in strict mode, that is, const makes lexical (let-like) bindings, must
      have an initializer, and does not create properties of the global object.
      
      R=adamk
      LOG=Y
      BUG=v8:3305
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1571873004
      
      Cr-Commit-Position: refs/heads/master@{#33218}
      95145fa8
  3. 09 Dec, 2015 1 commit
  4. 07 Dec, 2015 1 commit
  5. 01 Jul, 2015 1 commit
    • verwaest's avatar
      Minor performance improvements to the LookupIterator · 5c278f63
      verwaest authored
      This change changes bootstrapping semantics for intercepted global objects. Unlike before, we'll now also call into the interceptor during bootstrapping. This affects properties loaded from within the runtime, such as global.Array and global.Symbol. The embedder will need to make sure that those values are the expected values during bootstrapping.
      
      BUG=chromium:505998
      LOG=n
      
      Review URL: https://codereview.chromium.org/1220813005
      
      Cr-Commit-Position: refs/heads/master@{#29414}
      5c278f63
  6. 28 May, 2015 1 commit
  7. 13 Mar, 2015 2 commits
  8. 23 Feb, 2015 1 commit
  9. 05 Feb, 2015 1 commit
  10. 30 Jan, 2015 3 commits
  11. 27 Jan, 2015 1 commit
    • adamk's avatar
      Begin modernization of --harmony-modules · aeb3a717
      adamk authored
      The approach taken in this CL is to incrementally move toward the
      currently-specced version of modules in ES6. The biggest change in this
      patch is separating the parsing of modules from the parsing of scripts,
      getting rid of the 'module' keyword and thus disallowing modules-in-scripts
      as well as modules-in-modules.
      
      The syntax supported by import/export declarations has not yet been significantly
      changed, with the major exception being that import declarations require a string
      as the 'from' part.
      
      Most of the existing tests have been disabled, with a first new test added
      in cctest/test-parsing.
      
      BUG=v8:1569
      LOG=n
      
      Review URL: https://codereview.chromium.org/881623002
      
      Cr-Commit-Position: refs/heads/master@{#26299}
      aeb3a717
  12. 27 Nov, 2014 1 commit
  13. 21 Nov, 2014 1 commit
  14. 12 Nov, 2014 1 commit
  15. 11 Nov, 2014 2 commits
  16. 10 Nov, 2014 1 commit
  17. 07 Nov, 2014 1 commit
    • dslomov@chromium.org's avatar
      harmony_scoping: Implement lexical bindings at top level · 1a64b02d
      dslomov@chromium.org authored
      This implements correct semantics for "extensible" top level lexical scope.
      The entire lexical scope is represented at runtime by GlobalContextTable, reachable from native context and accumulating global contexts from every script loaded into the context.
      
      When the new script starts executing, it does the following validation:
      - checks the GlobalContextTable and global object (non-configurable own) properties against the set of declarations it introduces and reports potential conflicts.
      - invalidates the conflicting PropertyCells on global object, so that any code depending on them will miss/deopt causing any contextual lookups to be reexecuted under the new bindings
      - adds the lexical bindings it introduces to the GlobalContextTable
      
      Loads and stores for contextual lookups are modified so that they check the GlobalContextTable before looking up properties on global object, thus implementing the shadowing of global object properties by lexical declarations.
      
      R=adamk@chromium.org, rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/705663004
      
      Cr-Commit-Position: refs/heads/master@{#25220}
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      1a64b02d
  18. 29 Oct, 2014 1 commit
  19. 05 Aug, 2014 1 commit
  20. 29 Jul, 2014 2 commits
  21. 18 Jul, 2014 1 commit
  22. 14 Jul, 2014 1 commit
  23. 03 Jun, 2014 1 commit
  24. 05 Mar, 2014 1 commit
  25. 03 Jan, 2014 3 commits
  26. 20 Dec, 2013 2 commits
  27. 18 Dec, 2013 1 commit
  28. 11 Dec, 2013 1 commit
  29. 22 Nov, 2013 1 commit
  30. 12 Nov, 2013 1 commit
  31. 26 Sep, 2013 2 commits