-
Michael Lippautz authored
This reverts commit cf25b3bc. Reason for revert: https://crbug.com/1307471. TraceTrait must only be used during marking. Original change's description: > cppgc: Rework prefinalizers > > Move the check for whether an object is live or dead out of the > prefinalizer trampoline. Moving it into the backend allows for > inlining the check which avoids a call to the trampoline for live > objects. > > On catapult benchmarks (e.g. cnn:2021, nytimes:2020), there's often > ~2k finalizers registered. In order to avoid memory overhead in the > range of a few KB, we store the fact whether the object points to the > base object payload in the LSB of the pointer. For caged builds this > is replaced with just storing the index into the cage for both object > and base object payload. > > Locally saves around ~10% of atomic sweeping processing time which is > in the order of .05ms. > > Bug: v8:12698 > Change-Id: I198205a6b1d57fc2df821ee4e73e53dc6f825ff5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497764 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79442} Bug: v8:12698, chromium:1307471 Change-Id: I5c4e70d46cb99af66c77f0c013625b6af6c6eb8e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3535781 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79527}
f46c4858