[Webkit-unassigned] [Bug 199291] New: FTL keepAlive()'s patchpoint should also declare that it reads HeapRange::top().

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jun 27 15:13:20 PDT 2019


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

            Bug ID: 199291
           Summary: FTL keepAlive()'s patchpoint should also declare that
                    it reads HeapRange::top().
           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 main purpose of keepAlive() is to communicate to B3 that an LValue needs to be kept alive pass the last opportunity for a GC.  The only way we can get a GC is via a function call.  Hence, what keepAlive() really needs to communicate is that the LValue needs to be kept alive pass the last function call.  Function calls read and write HeapRange::top().  Currently, B3 does not shuffle writes.  Hence, simply inserting the keepAlive() after the calls that can GC is sufficient.  But to be strictly correct, keepAlive() should also declare that it reads HeapRange::top().  This will guarantee that the keepAlive patchpoint won't ever be moved before the function call should B3 gain the ability to shuffle writes in the future.

-- 
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/20190627/82dd2668/attachment.html>


More information about the webkit-unassigned mailing list