1. 28 Feb, 2017 3 commits
  2. 24 Feb, 2017 1 commit
  3. 22 Feb, 2017 1 commit
  4. 21 Feb, 2017 1 commit
  5. 16 Feb, 2017 2 commits
    • 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
    • jgruber's avatar
      [regexp] Correct lastIndex behavior in RegExp.prototype[@@replace] · c0fe56e6
      jgruber authored
      @@replace has a pretty complex implementation, taking different paths
      for various situations (e.g.: global/nonglobal regexp, functional/string
      replace argument, etc.). Each of these paths must implement similar
      logic for calling into the RegExpBuiltinExec spec operation, and many
      paths get this subtly wrong.
      
      This CL fixes a couple of issues related to the way @@replace handles lastIndex:
      * All paths now respect lastIndex when calling into exec (some used to assume 0).
      * lastIndex is now advanced after a successful match for sticky regexps.
      * lastIndex is now only reset to 0 on failure for sticky regexps.
      
      BUG=v8:5361
      
      Review-Url: https://codereview.chromium.org/2685183003
      Cr-Commit-Position: refs/heads/master@{#43234}
      c0fe56e6
  6. 14 Feb, 2017 1 commit
  7. 12 Feb, 2017 1 commit
    • littledan's avatar
      Revert of [typedarrays] move %TypedArray%.prototype.copyWithin to C++... · 4530f0dc
      littledan authored
      Revert of [typedarrays] move %TypedArray%.prototype.copyWithin to C++ (patchset #6 id:100001 of https://codereview.chromium.org/2671233002/ )
      
      Reason for revert:
      Due to security issue described in review thread.
      
      Original issue's description:
      > [typedarrays] move %TypedArray%.prototype.copyWithin to C++
      >
      > - Removes shared InnerArrayCopyWithin JS builtin from src/js/array.js
      > - Implements %TypedArray%.prototype.copyWithin as a C++ builtin, which
      > relies on std::memmove rather than accessing individual eleements.
      > - Fixes the case where copyWithin is invoked on a TypedArray with a
      > detached buffer.
      > - Add tests to ensure that +/-Infinity (for all 3 parameters) is handled correctly by the
      > algorithm
      >
      > The C++ version gets through the benchmark more than 25000 times as
      > quickly as the JS implementation.
      >
      > BUG=v8:5925, v8:5929, v8:4648
      > R=cbruni@chromium.org, adamk@chromium.org, littledan@chromium.org
      >
      > Review-Url: https://codereview.chromium.org/2671233002
      > Cr-Commit-Position: refs/heads/master@{#42975}
      > Committed: https://chromium.googlesource.com/v8/v8/+/0f1c626d556cbf84b0e572635eb803729f88cbb3
      
      TBR=cbruni@chromium.org,adamk@chromium.org,bmeurer@chromium.org,cwhan.tunz@gmail.com,caitp@igalia.com
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=v8:5925, v8:5929, v8:4648
      
      Review-Url: https://codereview.chromium.org/2693753002
      Cr-Commit-Position: refs/heads/master@{#43132}
      4530f0dc
  8. 10 Feb, 2017 2 commits
    • jwolfe's avatar
      Heuristic for eager parsing works for async functions · 9675811a
      jwolfe authored
      The heuristic checks for "(function", and now it also checks for
      "(async function".
      
      BUG=v8:4230
      
      Review-Url: https://codereview.chromium.org/2682173005
      Cr-Commit-Position: refs/heads/master@{#43120}
      9675811a
    • littledan's avatar
      test262 roll · 91b79fb7
      littledan authored
      This roll includes the SharedArrayBuffer tests (skipping for now)
      but doesn't include the $ renaming.
      
      This is a reland; previously, I reverted because I was confused about why
      the rename of $ to $262 didn't break tests; it now seems that the
      previous patch left it as an alias. This patch does not do the renaming
      yet, as the renaming usage has not landed upstream yet.
      
      R=adamk
      
      Review-Url: https://codereview.chromium.org/2685603003
      Cr-Commit-Position: refs/heads/master@{#43118}
      91b79fb7
  9. 09 Feb, 2017 1 commit
  10. 07 Feb, 2017 2 commits
  11. 06 Feb, 2017 1 commit
    • caitp's avatar
      [typedarrays] move %TypedArray%.prototype.copyWithin to C++ · 0f1c626d
      caitp authored
      - Removes shared InnerArrayCopyWithin JS builtin from src/js/array.js
      - Implements %TypedArray%.prototype.copyWithin as a C++ builtin, which
      relies on std::memmove rather than accessing individual eleements.
      - Fixes the case where copyWithin is invoked on a TypedArray with a
      detached buffer.
      - Add tests to ensure that +/-Infinity (for all 3 parameters) is handled correctly by the
      algorithm
      
      The C++ version gets through the benchmark more than 25000 times as
      quickly as the JS implementation.
      
      BUG=v8:5925, v8:5929, v8:4648
      R=cbruni@chromium.org, adamk@chromium.org, littledan@chromium.org
      
      Review-Url: https://codereview.chromium.org/2671233002
      Cr-Commit-Position: refs/heads/master@{#42975}
      0f1c626d
  12. 31 Jan, 2017 1 commit
    • jwolfe's avatar
      Enable --harmony-trailing-commas · ea96fdec
      jwolfe authored
      Also updated some tests due to the change. The general pattern is when a
      trailing comma is expected to cause a SyntaxError, an additional comma was
      added.
      
      BUG=v8:5051
      CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
      
      Review-Url: https://codereview.chromium.org/2638513002
      Cr-Commit-Position: refs/heads/master@{#42826}
      ea96fdec
  13. 30 Jan, 2017 1 commit
  14. 19 Jan, 2017 3 commits
  15. 12 Jan, 2017 1 commit
    • littledan's avatar
      [test] Allow command-line flags to be turned on per test262 test · f62f846c
      littledan authored
      This patch changes the test262 infrastructure to pass individual flags,
      specified in the status file, for tests for experimental features, rather
      than passing --harmony for all runs. With this change, it should be
      easier to run test262 tests in automation when developing new features.
      The new workflow would be, when adding a flag, include the flag in the
      test expectations file, and when removing the flag, remove the lines from
      the test expectations file. This way, the status file does not have to
      change when staging or unstaging, and you get the benefit of the automated
      tests before staging starts.
      
      R=adamk
      CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng
      
      Review-Url: https://codereview.chromium.org/2601393002
      Cr-Commit-Position: refs/heads/master@{#42249}
      f62f846c
  16. 07 Jan, 2017 1 commit
    • littledan's avatar
      [test] Process to locally develop and upstream test262 tests · 586deecb
      littledan authored
      This patch provides improved infrastructure for developing test262 tests
      together with V8. It has three parts:
      - The test262 test runner is updated to look for local versions of tests
        in the /test/test262/local-tests directory, which mirrors
        /test/test262/data. Additional tests can be added there and are run
        together with tests from upstream. Upstream tests can be locally
        updated by using the same name in local-tests; if a same-named test
        exists, then only the local version will be run. The local-tests
        directory is in the V8 repository, unlike the contents of the data
        directory, so tests can be added in the same patch as something else.
      - The tool /test/test262/upstream-local-tests.sh is added to create
        a patch against the test262 respository based on a patch which changes
        the local-tests directory.
      - The tool /test/test262/prune-local-tests.sh is added to remove
        redundant local tests on a test262 roll.
      
      See design doc:
      https://docs.google.com/document/d/16bj7AIDgZLv4WOsUEzQ5NzcEN9_xo095e88Pz8FC5rA/edit
      
      Review-Url: https://codereview.chromium.org/2611793002
      Cr-Commit-Position: refs/heads/master@{#42117}
      586deecb
  17. 06 Jan, 2017 1 commit
  18. 04 Jan, 2017 1 commit
  19. 27 Dec, 2016 1 commit
  20. 23 Dec, 2016 1 commit
    • littledan's avatar
      [intl] Add new semantics + compat fallback to Intl constructor · b0a09d78
      littledan authored
      ECMA 402 v2 made Intl constructors more strict in terms of how they would
      initialize objects, refusing to initialize objects which have already
      been constructed. However, when Chrome tried to ship these semantics,
      we ran into web compatibility issues.
      
      This patch tries to square the circle and implement the simpler v2 object
      semantics while including a compatibility workaround to allow objects to
      sort of be initialized later, storing the real underlying Intl object
      in a symbol-named property.
      
      The new semantics are described in this PR against the ECMA 402 spec:
      https://github.com/tc39/ecma402/pull/84
      
      BUG=v8:4360, v8:4870
      LOG=Y
      
      Review-Url: https://codereview.chromium.org/2582993002
      Cr-Commit-Position: refs/heads/master@{#41943}
      b0a09d78
  21. 22 Dec, 2016 1 commit
  22. 19 Dec, 2016 1 commit
  23. 16 Dec, 2016 1 commit
  24. 15 Dec, 2016 1 commit
  25. 07 Dec, 2016 2 commits
  26. 29 Nov, 2016 1 commit
  27. 21 Nov, 2016 1 commit
    • mstarzinger's avatar
      [test] Run module tests in all variants. · 2e5a90fd
      mstarzinger authored
      By now the compilation pipeline is flexible enough to run module tests
      against all variants, we should no longer choose unsupported compilers
      for modules. It also fixes the predicate checking for functions being
      "resumable" in the {AstNumberingVisitor} heuristic.
      
      R=neis@chromium.org
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2517143002
      Cr-Commit-Position: refs/heads/master@{#41144}
      2e5a90fd
  28. 18 Nov, 2016 1 commit
    • marja's avatar
      Remove FLAG_min_preparse_length. · 4a5b7e32
      marja authored
      It originates from the era where we used to run a separate preparse step
      before parsing and store the function data. Now the usage of preparser
      is something completely different, so this flag doesn't make sense any
      more.
      
      In addition, this way we get more test coverage for preparser (for small
      scripts).
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2513563002
      Cr-Commit-Position: refs/heads/master@{#41110}
      4a5b7e32
  29. 17 Nov, 2016 1 commit
  30. 15 Nov, 2016 1 commit
    • jshin's avatar
      Use a regular ICU API for el-Upper · 4f224b39
      jshin authored
      ICU now supports uppercasing in Greek via its regular uppercasing API.
      So, there's no need to use a slow transliteration API for uppercasing
      in Greek.
      
      This CL includes rolling ICU to ICU 58.1.
      
      Besides, drop intl402/Intl/getCanonicalLocales/weird-cases from
      test262.status because it passes now with ICU 58.1.
      
      BUG=chromium:637001,v8:5012
      
      Review-Url: https://codereview.chromium.org/2491333003
      Cr-Commit-Position: refs/heads/master@{#41009}
      4f224b39
  31. 11 Nov, 2016 1 commit
  32. 04 Nov, 2016 1 commit