[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