1. 30 Jun, 2017 1 commit
  2. 21 Jun, 2017 1 commit
  3. 13 Jun, 2017 1 commit
  4. 08 Jun, 2017 1 commit
  5. 07 Jun, 2017 1 commit
  6. 06 Jun, 2017 1 commit
  7. 05 Jun, 2017 1 commit
  8. 23 May, 2017 1 commit
  9. 04 May, 2017 2 commits
  10. 03 May, 2017 1 commit
  11. 28 Apr, 2017 1 commit
  12. 26 Apr, 2017 1 commit
  13. 18 Apr, 2017 2 commits
  14. 13 Apr, 2017 2 commits
  15. 12 Apr, 2017 1 commit
    • binji's avatar
      [SAB] Validate index before value conversion using ToIndex · 7b300ba2
      binji authored
      It's required by the spec -- and observable -- that the index be validated
      before the conversion of the value(s) via ToInteger.
      
      The previous implementation also had an old test for validating the atomic
      index, which has now been switched to ToIndex.
      
      This also exposed an issue in the ia32 code generator: cmpxchg_b requires a
      byte register, but the ia32 instruction selector was ensuring that the
      new_value was a byte register, not the TempRegister. This change forces the
      temp register to use edx, which always can be used as a byte register (dl).
      This is the same behavior as currently used in UseByteRegister.
      
      BUG=v8:4614
      R=jarin@chromium.org,jkummerow@chromium.org
      
      Review-Url: https://codereview.chromium.org/2814753003
      Cr-Commit-Position: refs/heads/master@{#44626}
      7b300ba2
  16. 11 Apr, 2017 3 commits
  17. 08 Apr, 2017 1 commit
  18. 07 Apr, 2017 1 commit
    • Daniel Ehrenberg's avatar
      test262 roll · dff88c86
      Daniel Ehrenberg authored
      Includes a drive-by fix to a couple of superficial Intl changes
      
      With this roll, test262 starts to look at test262 feature
      flags to determine which harmony flags to turn on. There's
      still more to do, including adding feature flags to existing
      upstream tests and taking advantage of more flags here.
      
      
      Change-Id: I9cb813e0450be9dc7769ac9c601092bd3572556f
      Reviewed-on: https://chromium-review.googlesource.com/471546Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Daniel Ehrenberg <littledan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44495}
      dff88c86
  19. 04 Apr, 2017 2 commits
  20. 03 Apr, 2017 1 commit
  21. 29 Mar, 2017 1 commit
    • Caitlin Potter's avatar
      [async-iteration] implement AsyncGenerator · bf463c4d
      Caitlin Potter authored
      - Introduce new struct AsyncGeneratorRequest, which holds
        information pertinent to resuming execution of an
        AsyncGenerator, such as the Promise associated with the async
        generator request. It is intended to be used as a singly
        linked list, and holds a pointer to the next item in te queue.
      
      - Introduce JSAsyncGeneratorObject (subclass of
        JSGeneratorObject), which includes several new internal fields
        (`queue` which contains a singly linked list of
        AsyncGeneratorRequest objects, and `await_input` which
        contains the sent value from an Await expression (This is
        necessary to prevent function.sent (used by yield*) from
        having the sent value observably overwritten during
        execution).
      
      - Modify SuspendGenerator to accept a set of Flags, which
        indicate whether the suspend is for a Yield or Await, and
        whether it takes place on an async generator or ES6
        generator.
      
      - Introduce interpreter intrinsics and TF intrinsic lowering for
        accessing the await input of an async generator
      
      - Modify the JSGeneratorStore operator to understand whether or
        not it's suspending for a normal yield, or an AsyncGenerator
        Await. This ensures appropriate registers are stored.
      
      - Add versions of ResumeGeneratorTrampoline which store the
        input value in a different field depending on wether it's an
        AsyncGenerator Await resume, or an ordinary resume. Also modifies
        whether debug code will assert that the generator object is a
        JSGeneratorObject or a JSAsyncGeneratorObject depending on the
        resume type.
      
      BUG=v8:5855
      R=bmeurer@chromium.org, rmcilroy@chromium.org, jgruber@chromium.org,
      littledan@chromium.org, neis@chromium.org
      TBR=marja@chromium.org
      
      Change-Id: I9d58df1d344465fc937fe7eed322424204497187
      Reviewed-on: https://chromium-review.googlesource.com/446961
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44240}
      bf463c4d
  22. 28 Mar, 2017 1 commit
  23. 27 Mar, 2017 2 commits
  24. 23 Mar, 2017 1 commit
  25. 15 Mar, 2017 1 commit
  26. 13 Mar, 2017 1 commit
    • littledan's avatar
      test262 roll · 01cc4f9f
      littledan authored
      A couple infrastructure changes went into this patch:
      - test262 changed from expecting $ to $262
      - upstream-local-tests.sh gets a command-line parameter for ease of use
      - Fixed up the FAIL_SLOPPY infrastructure, which seems to have bit-rotted
      - Inserted a terrible hack to get around test262 tests with a $ in the name
      
      Drive-by fix for the length of Intl.DateTimeFormat.prototype.format
      
      R=adamk
      
      Review-Url: https://codereview.chromium.org/2733843002
      Cr-Commit-Position: refs/heads/master@{#43749}
      01cc4f9f
  27. 28 Feb, 2017 3 commits
  28. 24 Feb, 2017 1 commit
  29. 22 Feb, 2017 1 commit
  30. 21 Feb, 2017 1 commit
  31. 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