1. 07 Nov, 2017 1 commit
  2. 26 Oct, 2017 1 commit
  3. 25 Oct, 2017 1 commit
    • Jakob Kummerow's avatar
      [bigint] Fix abstract equality with junk strings · 98df94cd
      Jakob Kummerow authored
      Abstract equality comparison of a BigInt and a String converts the
      latter to BigInt. This conversion can fail; since we do not want to
      pass a context to the comparison function, we must signal such failure
      without throwing an exception.
      This CL uses the existing ShouldThrow enum to configure behavior of
      String-to-BigInt conversion, moving it out of Object into globals.h.
      
      Bug: v8:6791, v8:6979
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ibb98675079b8392cf03bbcbbbd5556108500a32d
      Reviewed-on: https://chromium-review.googlesource.com/734172
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48946}
      98df94cd
  4. 23 Oct, 2017 1 commit
  5. 18 Oct, 2017 1 commit
  6. 16 Oct, 2017 1 commit
  7. 28 Aug, 2017 1 commit
  8. 25 Aug, 2017 1 commit
  9. 10 Jul, 2017 1 commit
  10. 03 Jul, 2017 1 commit
    • Mathias Bynens's avatar
      [elements] Rename Has*Elements and Is*ElementsKind methods · 7915cf93
      Mathias Bynens authored
      Commit 26c00f4a improved the names of
      most FAST_* elements kinds in the enum. This patch updates the matching
      Has*Elements and Is*ElementsKind method names accordingly.
      
      - HasFastSmiElements => HasSmiElements
      - IsFastSmiElementsKind => IsSmiElementsKind
      - HasFastObjectElements => HasObjectElements
      - IsFastObjectElementsKind => IsObjectElementsKind
      - HasFastSmiOrObjectElements => HasSmiOrObjectElements
      - IsFastSmiOrObjectElementsKind => IsSmiOrObjectElementsKind
      - HasFastDoubleElements => HasDoubleElements
      - IsFastDoubleElementsKind => IsDoubleElementsKind
      - HasFastHoleyElements => HasHoleyElements
      - IsFastHoleyElementsKind => IsHoleyElementsKind
      
      Additionally, FastHoleyElementsUsage is renamed to HoleyElementsUsage.
      
      BUG=v8:6548
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ie8f3d01eb43e909cbc6c372d88c5fbc4dfc2ac04
      Reviewed-on: https://chromium-review.googlesource.com/558356Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46376}
      7915cf93
  11. 30 Jun, 2017 1 commit
    • Mathias Bynens's avatar
      [elements] Rename FAST elements kinds · 26c00f4a
      Mathias Bynens authored
      The `FAST_` prefix doesn’t make much sense — they’re all just different cases
      with their own optimizations. Packedness being implicit (e.g. `FAST_ELEMENTS`
      vs. `FAST_HOLEY_ELEMENTS`) is not ideal, either.
      
      This patch renames the FAST elements kinds as follows:
      
      - e.g. FAST_ELEMENTS => PACKED_ELEMENTS
      - e.g. FAST_HOLEY_ELEMENTS => HOLEY_ELEMENTS
      
      The following exceptions are left intact, for lack of a better name:
      
      - FAST_SLOPPY_ARGUMENTS_ELEMENTS
      - SLOW_SLOPPY_ARGUMENTS_ELEMENTS
      - FAST_STRING_WRAPPER_ELEMENTS
      - SLOW_STRING_WRAPPER_ELEMENTS
      
      This makes it easier to reason about elements kinds, and less confusing to
      explain how they’re used.
      
      R=jkummerow@chromium.org, cbruni@chromium.org
      BUG=v8:6548
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ie7c6bee85583c3d84b730f7aebbd70c1efa38af9
      Reviewed-on: https://chromium-review.googlesource.com/556032Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46361}
      26c00f4a
  12. 23 Jun, 2017 1 commit
  13. 21 Jun, 2017 1 commit
  14. 12 Jun, 2017 1 commit
  15. 22 May, 2017 1 commit
  16. 26 Apr, 2017 1 commit
  17. 12 Apr, 2017 1 commit
  18. 10 Apr, 2017 1 commit
    • Peter Marshall's avatar
      [runtime] Fix spec bug in TypedArrayConstruct with mutating iterables. · cc75535d
      Peter Marshall authored
      The spec requires that we use IterableToList, which we skipped for
      some arrays as an optimization. We can't skip this for arrays with
      objects though, because the objects may mutate the array during
      the copying step via valueOf side effects.
      
      Also clean up the implementation to use a runtime function rather
      than a builtin as the helper. Also reverses the result of the helper
      because I think it is a bit more intuitive that way.
      
      Bug: v8:6224
      Change-Id: I9199491abede4479785df6d9068331bc2d6e9c5e
      Reviewed-on: https://chromium-review.googlesource.com/471986Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44507}
      cc75535d
  19. 31 Mar, 2017 1 commit
  20. 16 Mar, 2017 3 commits
  21. 13 Mar, 2017 1 commit
    • danno's avatar
      [builtins] (Re-)implement Array.prototype.every/some with the CSA · 6e0496b2
      danno authored
      In the process, re-factor the implementation of Array.prototype.forEach so that
      the bulk of the implementation can be re-used, since much of the spec is
      identical. The refactor should also make it more straight-forward to implement
      map and filter. The re-factored version only have a single slow path for processing
      elements which is used for both the overall slow path and for the bailout from the
      FAST_ELEMENTS case.
      
      Review-Url: https://codereview.chromium.org/2709773002
      Cr-Commit-Position: refs/heads/master@{#43745}
      6e0496b2
  22. 09 Mar, 2017 1 commit
  23. 26 Feb, 2017 1 commit
    • vabr's avatar
      Remove SMI length check from TF_BUILTIN(ArrayIncludes, CodeStubAssembler) · 72a49225
      vabr authored
      Currently, ArrayIncludes handles the hypothetical case of an array with
      a fast ElementsKind and non-SMI length. This should not happen (and is checked
      against in JSArray::JSArrayVerify of objects_debug.cc).
      
      Therefore this CL replaces that handling with a CSA_ASSERT that the length is
      indeed SMI.
      
      The CL also simplifies loading of the (SMI) length on 64 bit architectures by
      using LoadAndUntagObjectField instead of LoadObjectField+SmiToWord.
      
      BUG=v8:5985
      
      Review-Url: https://codereview.chromium.org/2714193002
      Cr-Commit-Position: refs/heads/master@{#43433}
      72a49225
  24. 25 Feb, 2017 1 commit
    • vabr's avatar
      Remove SMI length check from Builtins::Generate_ArrayIndexOf · 2a7957b9
      vabr authored
      Currently, Generate_ArrayIndexOf handles the hypothetical case of an array with
      a fast ElementsKind and non-SMI length. This should not happen (and is checked
      against in JSArray::JSArrayVerify of objects_debug.cc).
      
      Therefore this CL replaces that handling with a CSA_ASSERT that the length is
      indeed SMI.
      
      The CL also simplifies loading of the (SMI) length on 64 bit architectures by
      using LoadAndUntagObjectField instead of LoadObjectField+SmiToWord.
      
      The CL does not add new tests, because test/mjsunit/array-length.js should
      cover this already.
      
      BUG=v8:5985
      
      Review-Url: https://codereview.chromium.org/2714173002
      Cr-Commit-Position: refs/heads/master@{#43431}
      2a7957b9
  25. 23 Feb, 2017 1 commit
  26. 22 Feb, 2017 1 commit
  27. 20 Feb, 2017 2 commits
  28. 17 Feb, 2017 1 commit
  29. 14 Feb, 2017 1 commit
  30. 13 Feb, 2017 5 commits
  31. 03 Feb, 2017 1 commit
  32. 27 Jan, 2017 2 commits