1. 13 Oct, 2017 1 commit
  2. 14 Aug, 2017 1 commit
  3. 15 Sep, 2016 1 commit
    • franzih's avatar
      [runtime] Intercept function declarations. · 8439401d
      franzih authored
      We used to intercept function definitions, but not declarations.
      GenericNamedPropertySetterCallback now also intercepts function declarations.
      
      For definitions, we call DeclareGlobal and then InitializeVarGlobal. For
      declarations, we never call InitializeVarGlobal, thus we must check for
      interceptors in DeclareGlobal.
      
      If the semantics of a redeclaration are wrong, e.g., redeclaring a read-only
      property, an exception is thrown independent of whether an interceptor is
      installed. Usually, i.e., not during a declaration, we only throw if
      the call is not successfully intercepted.
      
      BUG=v8:5375
      
      Review-Url: https://codereview.chromium.org/2334733002
      Cr-Commit-Position: refs/heads/master@{#39450}
      8439401d
  4. 07 Sep, 2016 1 commit
  5. 01 Sep, 2016 1 commit
  6. 10 Aug, 2016 1 commit
    • krasin's avatar
      cctest: put some types into anonymous namespace. · a9b5eb0c
      krasin authored
      This is to prevent a collision with Expectations class defined in test-field-type-tracking.cc, which happens in Clang under certain conditions (official build + Precise + unknown).
      
      While the original intent was to just workaround the Clang bug, putting types into anonymous namespace seems reasonable anyway (thank you to Benedikt Meurer for the suggestion!)
      
      BUG=630335
      
      Review-Url: https://codereview.chromium.org/2227073002
      Cr-Commit-Position: refs/heads/master@{#38552}
      a9b5eb0c
  7. 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
  8. 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
  9. 09 Dec, 2015 1 commit
  10. 07 Dec, 2015 1 commit
  11. 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
  12. 28 May, 2015 1 commit
  13. 13 Mar, 2015 2 commits
  14. 23 Feb, 2015 1 commit
  15. 05 Feb, 2015 1 commit
  16. 30 Jan, 2015 3 commits
  17. 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
  18. 27 Nov, 2014 1 commit
  19. 21 Nov, 2014 1 commit
  20. 12 Nov, 2014 1 commit
  21. 11 Nov, 2014 2 commits
  22. 10 Nov, 2014 1 commit
  23. 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
  24. 29 Oct, 2014 1 commit
  25. 05 Aug, 2014 1 commit
  26. 29 Jul, 2014 2 commits
  27. 18 Jul, 2014 1 commit
  28. 14 Jul, 2014 1 commit
  29. 03 Jun, 2014 1 commit
  30. 05 Mar, 2014 1 commit
  31. 03 Jan, 2014 3 commits
  32. 20 Dec, 2013 2 commits