1. 08 Jan, 2019 1 commit
  2. 17 Dec, 2018 1 commit
  3. 04 Dec, 2018 1 commit
  4. 03 Dec, 2018 1 commit
  5. 30 Nov, 2018 1 commit
  6. 22 Nov, 2018 1 commit
  7. 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
  8. 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
  9. 05 Nov, 2018 1 commit
  10. 31 Oct, 2018 3 commits
  11. 13 Sep, 2018 1 commit
  12. 10 Sep, 2018 1 commit
  13. 29 Aug, 2018 1 commit
    • Jakob Kummerow's avatar
      [bigint] Fix NoSideEffectsToString for 32-bit platforms · 9d493179
      Jakob Kummerow authored
      On 32-bit platforms, String::kMaxLength is such that not all BigInts
      can be converted to Strings. NoSideEffectsToString, however, used to
      assume that this conversion always succeeds. This patch adds a check
      for the failure case, and returns "<a very large BigInt>" instead of
      crashing.
      This change is practically unobservable, because actually formatting
      such a huge BigInt to String would take "forever", which is also why
      there is no regression test.
      
      Bug: chromium:876628
      Change-Id: I1eacdc1cce753ac5d9ca66e61e479043ab576e07
      Reviewed-on: https://chromium-review.googlesource.com/1194004Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55491}
      9d493179
  14. 18 Jul, 2018 1 commit
  15. 02 Jul, 2018 1 commit
  16. 20 Jun, 2018 1 commit
  17. 11 Jun, 2018 1 commit
  18. 25 May, 2018 1 commit
  19. 25 Apr, 2018 1 commit
  20. 16 Apr, 2018 1 commit
  21. 15 Apr, 2018 1 commit
  22. 14 Apr, 2018 1 commit
    • Jakob Kummerow's avatar
      [ubsan] Change Address typedef to uintptr_t · 2459046c
      Jakob Kummerow authored
      The "Address" type is V8's general-purpose type for manipulating memory
      addresses. Per the C++ spec, pointer arithmetic and pointer comparisons
      are undefined behavior except within the same array; since we generally
      don't operate within a C++ array, our general-purpose type shouldn't be
      a pointer type.
      
      Bug: v8:3770
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Ib96016c24a0f18bcdba916dabd83e3f24a1b5779
      Reviewed-on: https://chromium-review.googlesource.com/988657
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52601}
      2459046c
  23. 08 Mar, 2018 3 commits
  24. 06 Mar, 2018 1 commit
  25. 05 Mar, 2018 1 commit
    • Jakob Kummerow's avatar
      [bigint] Fix GC unsafety issue · 2ce122e3
      Jakob Kummerow authored
      There must not be both an allocating function call and a handle deref
      in the list of arguments to a call. Depending on the evaluation order
      that the C++ compiler chooses, the deref could happen before the call
      and the resulting raw pointer be invalidated by the GC.
      
      Bug: chromium:818424
      Change-Id: I525947252ff9d0b048a5bf82c2976e0acce739be
      Reviewed-on: https://chromium-review.googlesource.com/949782Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51746}
      2ce122e3
  26. 03 Mar, 2018 1 commit
  27. 02 Mar, 2018 1 commit
    • Jakob Kummerow's avatar
      [bigint] Make MSan happy: zero-initialize unused bits · 824358f0
      Jakob Kummerow authored
      There are some unused bits in a BigInt's bit field. We never read their
      their values explicitly, but whenever the entire object is moved around
      (for serialization, or GC), this uninitialized memory is accessed. This
      patch fixes that by initializing the entire field after allocation of a
      BigInt, not just the bits we actually use.
      
      Bug: chromium:818109
      Change-Id: I5a4d24c3240242157b902c696fa9bb779799280d
      Reviewed-on: https://chromium-review.googlesource.com/946676Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51708}
      824358f0
  28. 01 Mar, 2018 1 commit
  29. 28 Feb, 2018 1 commit
  30. 21 Feb, 2018 1 commit
  31. 19 Feb, 2018 1 commit
  32. 17 Feb, 2018 2 commits
  33. 05 Dec, 2017 1 commit
  34. 04 Dec, 2017 2 commits