1. 11 Apr, 2022 2 commits
  2. 06 Apr, 2022 2 commits
  3. 04 Apr, 2022 1 commit
    • Benedikt Meurer's avatar
      Preserve "proper method names" as-is in error.stack. · ad21d212
      Benedikt Meurer authored
      This changes the logic for generating method names in `error.stack` to
      prepend an inferred type name only when the function name is a valid
      ECMAScript identifiers and does not equal the inferred type name, to
      
      (1) give developers more control over the exact name shown in
          `error.stack`, as well as
      (2) avoid confusion in the presence of renaming of local variables.
      
      Previously we'd leave the function name as-is if it was prefixed by the
      inferred type name, but that condition is unnecessarily strict, and led
      to a bunch of inconsistencies around special names like
      `<instance_member_initializer>` where this dynamic approached often
      prefixed it with the correct type name, but also sometimes got it wrong
      and prepended `Object.`, which is very unfortunate and misleading.
      Specifically for these special names, we'll add logic later in the
      parser to infer a useful (complete) name.
      
      The design doc (https://bit.ly/devtools-method-names-in-stack-traces)
      contains more background and examples of why we do this change.
      
      Doc: https://bit.ly/devtools-method-names-in-stack-traces
      Fixed: chromium:1294619
      Bug: chromium:1283435
      Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79748}
      ad21d212
  4. 31 Mar, 2022 1 commit
  5. 30 Mar, 2022 1 commit
  6. 28 Mar, 2022 1 commit
  7. 23 Mar, 2022 1 commit
  8. 16 Mar, 2022 1 commit
  9. 14 Mar, 2022 1 commit
  10. 09 Mar, 2022 1 commit
  11. 04 Mar, 2022 1 commit
  12. 22 Feb, 2022 1 commit
  13. 21 Feb, 2022 2 commits
  14. 18 Feb, 2022 1 commit
  15. 15 Feb, 2022 1 commit
  16. 14 Feb, 2022 1 commit
  17. 11 Feb, 2022 1 commit
  18. 05 Feb, 2022 3 commits
  19. 28 Jan, 2022 3 commits
  20. 26 Jan, 2022 5 commits
  21. 25 Jan, 2022 1 commit
  22. 20 Jan, 2022 2 commits
  23. 17 Jan, 2022 2 commits
  24. 14 Jan, 2022 3 commits
    • Michael Lippautz's avatar
      Reland "cppgc-js,heap: Implement snapshots for embedder fields" · 804aaa5c
      Michael Lippautz authored
      This is a reland of 142dd775
      
      Original change's description:
      > cppgc-js,heap: Implement snapshots for embedder fields
      >
      > https://crrev.com/c/3293410 added concurrent processing of C++ objects
      > found through V8 embedder fields. The CL missed that those embedder
      > fields are not read atomically from JS objects. The problem is that
      > embedder fields are only aligned to kTaggedSize on builds with pointer
      > compression and are as such mis-aligned for atomic ops. This is not a
      > problem for on-heap values as the upper 32bits are anyways computed
      > from the cage. Is is a problem for generic C++ values though, as they
      > are used with Oilpan.
      >
      > This CL adds the standard marker snapshot protocol for embedder fields.
      >
      > Marker:
      > 1. Snapshot embedder fields
      > 2. Try to mark host object
      > 3. On success: process snapshot
      >
      > Main thread:
      > 1. On setting embedder fields mark the object black first
      > 2. Emit a write barrier for the embedder fields
      >
      > This will get simpler with the heap sandbox that uses a separate table
      > for embedder fields. Once the sandbox is the default configuration, we
      > 	can use it as dependency for the concurrent fast path.
      >
      > Bug: chromium:1285706
      > Change-Id: I6b975ea561be08cda840ef0dd27a11627de93900
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3380983
      > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#78604}
      
      Bug: chromium:1285706
      Change-Id: I024e50fc0757fbcd13cb9ffde027dff55f99d25c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386600Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78631}
      804aaa5c
    • Leszek Swirski's avatar
      Revert "[string] Support shared strings in Value{Serializer,Deserializer}" · 3051f8ab
      Leszek Swirski authored
      This reverts commit 3cb4039c.
      
      Reason for revert: TSAN failure in newly added test: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20isolates/18086/overview
      
      Original change's description:
      > [string] Support shared strings in Value{Serializer,Deserializer}
      >
      > When FLAG_shared_string_table is true, postMessaging strings will share
      > instead of copy.
      >
      > Note that not all operations on shared strings are supported, and shared
      > strings may be slower than non-shared strings for some operations.
      >
      > Bug: v8:12007
      > Change-Id: I3462128e15410d2568868143571571b3025722c1
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3277250
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Commit-Queue: Shu-yu Guo <syg@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#78614}
      
      Bug: v8:12007
      Change-Id: I5bb8f9b4e9b641c6d5cb16f963e9dbc1b13ac56a
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386799
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Owners-Override: Leszek Swirski <leszeks@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78615}
      3051f8ab
    • Shu-yu Guo's avatar
      [string] Support shared strings in Value{Serializer,Deserializer} · 3cb4039c
      Shu-yu Guo authored
      When FLAG_shared_string_table is true, postMessaging strings will share
      instead of copy.
      
      Note that not all operations on shared strings are supported, and shared
      strings may be slower than non-shared strings for some operations.
      
      Bug: v8:12007
      Change-Id: I3462128e15410d2568868143571571b3025722c1
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3277250Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Shu-yu Guo <syg@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78614}
      3cb4039c
  25. 13 Jan, 2022 1 commit
    • Leszek Swirski's avatar
      Revert "cppgc-js,heap: Implement snapshots for embedder fields" · 7d4e3d35
      Leszek Swirski authored
      This reverts commit 142dd775.
      
      Reason for revert: TSAN breaks: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20stress-incremental-marking/6113/overview
      
      Original change's description:
      > cppgc-js,heap: Implement snapshots for embedder fields
      >
      > https://crrev.com/c/3293410 added concurrent processing of C++ objects
      > found through V8 embedder fields. The CL missed that those embedder
      > fields are not read atomically from JS objects. The problem is that
      > embedder fields are only aligned to kTaggedSize on builds with pointer
      > compression and are as such mis-aligned for atomic ops. This is not a
      > problem for on-heap values as the upper 32bits are anyways computed
      > from the cage. Is is a problem for generic C++ values though, as they
      > are used with Oilpan.
      >
      > This CL adds the standard marker snapshot protocol for embedder fields.
      >
      > Marker:
      > 1. Snapshot embedder fields
      > 2. Try to mark host object
      > 3. On success: process snapshot
      >
      > Main thread:
      > 1. On setting embedder fields mark the object black first
      > 2. Emit a write barrier for the embedder fields
      >
      > This will get simpler with the heap sandbox that uses a separate table
      > for embedder fields. Once the sandbox is the default configuration, we
      > 	can use it as dependency for the concurrent fast path.
      >
      > Bug: chromium:1285706
      > Change-Id: I6b975ea561be08cda840ef0dd27a11627de93900
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3380983
      > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#78604}
      
      Bug: chromium:1285706
      Change-Id: If1976c0356f450fc068aa4dcc39fb9a0d5417a40
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386598
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Owners-Override: Leszek Swirski <leszeks@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/main@{#78605}
      7d4e3d35