[Webkit-unassigned] [Bug 205544] New: Replace uses of Box<Identifier> with a new CacheableIdentifier class.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Dec 21 18:53:24 PST 2019


https://bugs.webkit.org/show_bug.cgi?id=205544

            Bug ID: 205544
           Summary: Replace uses of Box<Identifier> with a new
                    CacheableIdentifier class.
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: mark.lam at apple.com

The CacheableIdentifier is effectively a tagged union of a JSCell* or an Identifier.  The JSCell* in this case can be either a Symbol* or a JSString* that is backed by an atom string.  The VM runtime ensures that we'll never try to cache an identifier from a JSCell that is not one of these.  With this CacheableIdentifier, we no longer need to worry about avoiding a ref/deref of the underlying UniquedStringImpl from the compiler or GC thread.  Instead, we need to visit CacheableIdentifiers during GC scans to keep the JSCell in it alive, and that JSCell will, in turn, keep the underlying UniquedStringImpl alive.

<rdar://problem/58041800>

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20191222/cdb403df/attachment.htm>


More information about the webkit-unassigned mailing list