Commit 8dbc4c3a authored by Michael Lippautz's avatar Michael Lippautz Committed by Chromium LUCI CQ

heap: Ephemeron visualization

Treating ephemerons strong during snapshot creation results in
strongification of the key, even though the right key->value edge is
added. This is a problem when the ephemeron container is closer
to a root than the actual object, as it hides the real retaining
path.

Instead, treat the backing weakly which results in only adding the
right key->value edge. In addition, give the edge a name as otherwise
regular properties would be indistinguishable from properties added
through ephemerons.

Example retainer entry:
  part of key -> value pair in ephemeron table
  (<blink::WeakMember<blink::Node>,
  blink::Member<blink::EventTargetData>>)
  in HTMLButtonElement@38789

Change-Id: Id9cc2fb5b31be6df68ec9d0f63c01c06dbb48bcc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2633264
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: default avatarOmer Katz <omerkatz@chromium.org>
Reviewed-by: default avatarUlan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#844760}
parent cadf8786
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment