1. 15 Mar, 2017 1 commit
  2. 13 Mar, 2017 1 commit
    • binji's avatar
      Reland moving Atomics builtins to C++ · 65200967
      binji authored
      This reverts the previous revert, commit
      5a04f4fd.
      
      Previously reverted changes:
      
      >    Revert "[SAB] Move Atomics builtins to C++"
      >
      >     This reverts commit 2b9840d8.
      >
      >     Revert "[SAB] Remove unreachable Uint8Clamped atomics paths"
      >
      >     This reverts commit d1160fb1.
      >
      >     Revert "Remove tiny unit test for MinSimple/MaxSimple"
      >
      >     This reverts commit 837760ec.
      >
      >     Revert "Remove infrastructure for experimental JS natives"
      >
      >     This reverts commit 8cfe45b6.
      
      These changes were reverted to improve a perf regression on a Chrome
      bot. Since then, the regression has reappeared, then disappeared again
      all from seemingly unrelated changes.
      
      BUG=v8:6033
      TBR=adamk@chromium.org,hpayer@chromium.org,yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/2732213005
      Cr-Commit-Position: refs/heads/master@{#43758}
      65200967
  3. 03 Mar, 2017 1 commit
  4. 27 Feb, 2017 2 commits
  5. 24 Feb, 2017 1 commit
  6. 22 Feb, 2017 1 commit
  7. 20 Feb, 2017 1 commit
    • littledan's avatar
      [SAB] Move Atomics builtins to C++ · 2b9840d8
      littledan authored
      This patch refactors the Atomics builtins so that they are implemented
      as C++ builtins rather than experimental JS builtins. Previously, each
      of these functions called out to a runtime function, so no significant
      change in performance is anticipated. The goal of this patch is to
      remove the last user of experimental JS builtins so that the mechanism
      can be removed, for performance reasons. The patch includes a drive-by
      fix of a check-fail. For the most part, the patch is just moving code
      without modification from runtime-atomics.cc to
      builtins-sharedarraybuffer.cc .
      
      BUG=v8:5880
      
      Review-Url: https://codereview.chromium.org/2698813004
      Cr-Commit-Position: refs/heads/master@{#43335}
      2b9840d8
  8. 17 Feb, 2017 1 commit
  9. 16 Feb, 2017 1 commit
    • jwolfe's avatar
      Implement new Function.prototype.toString --harmony-function-tostring · d1d4b9ce
      jwolfe authored
      For functions declared in source code, the .toString() representation
      will be an excerpt of the source code.
      * For functions declared with the "function" keyword, the excerpt
        starts at the "function" or "async" keyword and ends at the final "}".
        The previous behavior would start the excerpt at the "(" of the
        parameter list, and prepend a canonical `"function " + name` or
        similar, which would discard comments and formatting surrounding the
        function's name. Anonymous functions declared as function expressions
        no longer get the name "anonymous" in their toString representation.
      * For methods, the excerpt starts at the "get", "set", "*" (for
        generator methods), or property name, whichever comes first.
        Previously, the toString representation for methods would use a
        canonical prefix before the "(" of the parameter list. Note that any
        "static" keyword is omitted.
      * For arrow functions and class declarations, the excerpt is unchanged.
      
      For functions created with the Function, GeneratorFunction, or
      AsyncFunction constructors:
      * The string separating the parameter text and body text is now
        "\n) {\n", where previously it was "\n/*``*/) {\n" or ") {\n".
      * At one point, newline normalization was required by the spec here,
        but that was removed from the spec, and so this CL does not do it.
      
      Included in this CL is a fix for CreateDynamicFunction parsing. ')'
      and '`' characters in the parameter string are no longer disallowed,
      and Function("a=function(", "}){") is no longer allowed.
      
      BUG=v8:4958, v8:4230
      
      Review-Url: https://codereview.chromium.org/2156303002
      Cr-Commit-Position: refs/heads/master@{#43262}
      d1d4b9ce
  10. 15 Feb, 2017 1 commit
  11. 14 Feb, 2017 1 commit
  12. 13 Feb, 2017 4 commits
  13. 01 Feb, 2017 2 commits
  14. 31 Jan, 2017 1 commit
  15. 27 Jan, 2017 1 commit
  16. 26 Jan, 2017 5 commits
  17. 23 Jan, 2017 1 commit
  18. 21 Jan, 2017 1 commit
  19. 20 Jan, 2017 5 commits
  20. 18 Jan, 2017 1 commit
    • gsathya's avatar
      [ESnext] Implement Object Rest · 54b5c4b8
      gsathya authored
      This rewrites the rest property into a runtime call which sets up the
      correct properties in the newly created object.
      
      - Changes flag to --harmony-object-rest-spread
      - Changes pattern rewriter to desugar rest property
      - Adds new runtime function CopyDataPropertiesWithExcludedProperties
      
      BUG=v8:5549
      
      Review-Url: https://codereview.chromium.org/2620943002
      Cr-Commit-Position: refs/heads/master@{#42430}
      54b5c4b8
  21. 10 Jan, 2017 1 commit
  22. 06 Jan, 2017 1 commit
    • adamk's avatar
      Include harmony-string-padding.js in the context snapshot · 02149d89
      adamk authored
      The attached chromium bug suggests that turning this on via a flag
      regressed a perf test. Having previously run into slowdowns due
      to experimental JS natives, my suspicion is that this regression
      can be fixed by including the new builtins in the snapshot.
      My intention is to land this patch to see if the regression
      goes away on the bots.
      
      Given the nature of this feature, it seems low-risk to remove
      the runtime flag. If need be, it would be trivial to craft
      a patch to remove these two methods from String.prototype
      if we run into web compat issues during the release (note
      that no release branch has yet picked up this feature).
      
      BUG=v8:4954, chromium:677444
      
      Review-Url: https://codereview.chromium.org/2610853010
      Cr-Commit-Position: refs/heads/master@{#42111}
      02149d89
  23. 05 Jan, 2017 1 commit
    • gsathya's avatar
      [ESnext] Implement Object spread · a40b7172
      gsathya authored
      This patch adds parsing of spread object property.
      
      -- Changes ParsePropertyName to parse Token::ELLIPSIS.
      -- Throws if rest is encountered by setting a pattern error.
      -- Adds a new PropertyKind enum (SPREAD)
      -- Adds a new ObjectLiteralProperty::kind (SPREAD)
      -- Adds a new harmony-object-spread flag and protects the parser code
      with it.
      -- Adds a new runtime function called CopyDataProperties
      -- Does not add any support for this feature in fullcodegen.
      -- Ignition calls out to a runtime function CopyDataProperties to
      perform spread operation.
      -- Move FastAssign from builtins-objects.cc to objects.cc
      -- Refactor Builtin_ObjectAssign to use SetOrCopyDataProperties
      
      Object rest will be implemented in a follow on patch.
      
      BUG=v8:5549
      
      Review-Url: https://codereview.chromium.org/2606833002
      Cr-Commit-Position: refs/heads/master@{#42102}
      a40b7172
  24. 03 Jan, 2017 1 commit
    • caitp's avatar
      [cleanup] remove sloppy generator/async function maps · c5234747
      caitp authored
      These maps contain exactly the same information as the strict maps, so
      this frees up a few pointers of native context space, gets rid of some
      branches in FastNewClosure, and adds missing poisoned properties tests
      for async functions.
      
      BUG=v8:2355, v8:4483
      R=adamk@chromium.org, bmeurer@chromium.org, littledan@chromium.org
      
      Review-Url: https://codereview.chromium.org/2608333002
      Cr-Commit-Position: refs/heads/master@{#42051}
      c5234747
  25. 21 Dec, 2016 1 commit
  26. 14 Dec, 2016 2 commits