1. 27 Mar, 2020 1 commit
  2. 13 Jan, 2020 1 commit
  3. 12 Jul, 2019 1 commit
    • Nico Hartmann's avatar
      [turbofan] Push BigInt truncation over addition and heap constants · 99df710d
      Nico Hartmann authored
      This change implements lowering of speculative BigInt addition as well as
      BigInt heap constants to corresponding int64 versions, if they are used in
      a context where the result is truncated to the least significant 64 bits
      (e.g. using asUintN). The JSHeapBroker is extended to provide access to the
      BigInt's least significant digit during concurrent compilation. The BigInt
      context (required to introduce correct conversions) is recognized in the
      RepresentationChanger by either the output type propagated downward or the
      TypeCheckKind propagated upward. This is necessary, because the TypeCheckKind
      may only be set by nodes that may potentially deopt (and sit in the effect
      chain). This is the case for SpeculativeBigIntAdd, but not for BigIntAsUintN.
      
      This CL contains a simple fix to prevent int64-lowered BigInts to flow into
      state values as the deoptimizer cannot handle them yet. A more sophisticated
      solution to allow the deoptimizer to materialize truncated BigInts will be
      added in a following CL.
      
      Bug: v8:9407
      Change-Id: I96a293e9077962f53e5f199857644f004e3ae56e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1684183
      Commit-Queue: Nico Hartmann <nicohartmann@google.com>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62665}
      99df710d
  4. 26 Jun, 2019 1 commit
  5. 25 Jun, 2019 2 commits
  6. 03 May, 2019 1 commit
  7. 28 Feb, 2019 1 commit
  8. 30 Nov, 2018 1 commit
  9. 16 Nov, 2018 1 commit
    • Georg Neis's avatar
      [bigint] Make competing read/write operations on bitfield atomic. · f28a7533
      Georg Neis authored
      GC needs to be able to read a bigint's length while the main thread may
      change the length and the sign (bigints are intentionally mutable as
      long as they haven't escaped to user code). Since both values are stored
      in the same bitfield, we need to make these accesses atomic.
      
      Also change right-trimming to not insert a filler when the object is
      in large object space (it makes no sense there).
      
      Bug: v8:8440
      Change-Id: I72a1b6f1eda54566d3cfad554dda1a98ddd61975
      Reviewed-on: https://chromium-review.googlesource.com/c/1337737
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57576}
      f28a7533
  10. 08 Nov, 2018 1 commit
    • Jakob Kummerow's avatar
      [bigint] Fix harmless DCHECK failure · a6ab4e00
      Jakob Kummerow authored
      Behavior in Release mode was correct; Debug mode triggered a DCHECK
      failure that indicated an inefficiency: when a requested truncation
      would be a no-op, we should return the original BigInt, rather than
      creating a copy. In the special case of -2^(n-1), i.e. the smallest
      negative n-bit integer, getting truncated to n bits, with n being a
      multiple of kDigitBits, this shortcut was not taken.
      
      Bug: v8:8426
      Change-Id: I8e4595d9ac0dbef81aae06688f9a9636bd2d9cd9
      Reviewed-on: https://chromium-review.googlesource.com/c/1325029Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57369}
      a6ab4e00
  11. 01 Oct, 2018 1 commit
  12. 21 Sep, 2018 1 commit
    • Benedikt Meurer's avatar
      [cleanup] Remove obsolete runtime functions. · 74adec5b
      Benedikt Meurer authored
      Remove %ToPrimitive, %ToPrimitive_Number, %SameValue and %SameValueZero,
      as these runtime functions were only used from tests. For the %SameValue
      we use Object.is() to test the internal algorithm (the actual one even),
      and for %SameValueZero we use Set#has() - this was already the case for
      most uses anyways.
      
      Also drop %IsDate and %ValueOf, which didn't have uses at all.
      
      Bug: v8:8015
      Change-Id: Ice26d25e68aed4d5d8adac0547c56aedf9826b13
      Reviewed-on: https://chromium-review.googlesource.com/1237677
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56127}
      74adec5b
  13. 23 Jul, 2018 1 commit
  14. 19 Jul, 2018 1 commit
    • Sigurd Schneider's avatar
      Revert "[turbofan] Inline Number constructor in certain cases" · c7a9af61
      Sigurd Schneider authored
      This reverts commit 9eca23e9.
      
      Reason for revert: Clusterfuzz correctness issue
      
      Original change's description:
      > [turbofan] Inline Number constructor in certain cases
      > 
      > This CL adds inlining for the Number constructor if new.target is not
      > present. The lowering is BigInt compatible, i.e. it converts BigInts to
      > numbers.
      > 
      > Bug: v8:7904
      > Change-Id: If03b9f872d82e50b6ded7709069181c33dc44e82
      > Reviewed-on: https://chromium-review.googlesource.com/1118557
      > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54454}
      
      TBR=jarin@chromium.org,neis@chromium.org,sigurds@chromium.org,bmeurer@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:7904
      Change-Id: Ie5fa6c1262b8acc33edb672a0124f4458fcded86
      Reviewed-on: https://chromium-review.googlesource.com/1142777Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54544}
      c7a9af61
  15. 16 Jul, 2018 1 commit
  16. 15 Jun, 2018 1 commit
  17. 16 Apr, 2018 1 commit
  18. 15 Apr, 2018 1 commit
  19. 10 Mar, 2018 1 commit
  20. 06 Mar, 2018 1 commit
  21. 03 Mar, 2018 1 commit
  22. 01 Mar, 2018 1 commit
  23. 28 Feb, 2018 1 commit
  24. 23 Feb, 2018 2 commits
  25. 22 Feb, 2018 2 commits
  26. 19 Feb, 2018 1 commit
  27. 17 Feb, 2018 2 commits
  28. 26 Jan, 2018 1 commit
  29. 20 Dec, 2017 1 commit
  30. 06 Dec, 2017 1 commit
  31. 05 Dec, 2017 1 commit
  32. 04 Dec, 2017 2 commits
  33. 01 Dec, 2017 3 commits