WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
199291
FTL keepAlive()'s patchpoint should also declare that it reads HeapRange::top().
https://bugs.webkit.org/show_bug.cgi?id=199291
Summary
FTL keepAlive()'s patchpoint should also declare that it reads HeapRange::top().
Mark Lam
Reported
2019-06-27 15:13:20 PDT
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.
Attachments
proposed patch.
(2.08 KB, patch)
2019-06-27 15:19 PDT
,
Mark Lam
ysuzuki
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Mark Lam
Comment 1
2019-06-27 15:19:04 PDT
Created
attachment 373057
[details]
proposed patch.
Yusuke Suzuki
Comment 2
2019-06-27 15:23:42 PDT
Comment on
attachment 373057
[details]
proposed patch. r=me
Filip Pizlo
Comment 3
2019-06-27 16:00:05 PDT
Comment on
attachment 373057
[details]
proposed patch. R=me too.
Mark Lam
Comment 4
2019-06-27 17:27:23 PDT
Thanks for the reviews. Landed in
r246910
: <
http://trac.webkit.org/r246910
>.
Radar WebKit Bug Importer
Comment 5
2019-06-27 17:31:35 PDT
<
rdar://problem/52296737
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug