Bug 185345

Summary: [JSC][ARM64] Emit Atomics if LSE (Large System Extension) is enabled
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: JavaScriptCoreAssignee: Yusuke Suzuki <ysuzuki>
Status: NEW    
Severity: Normal CC: ews-watchlist, fpizlo, keith_miller, mark.lam, msaboff, saam, tzagallo
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
ews-feeder: commit-queue-
Patch
ews-feeder: commit-queue-
Patch none

Yusuke Suzuki
Reported 2018-05-04 23:29:12 PDT
ARM v8.1 introduces large system extension (LSE), which includes a direct "cas" instruction instead of LL/SC.
Attachments
Patch (4.39 KB, patch)
2020-11-11 15:11 PST, Yusuke Suzuki
ews-feeder: commit-queue-
Patch (4.38 KB, patch)
2020-11-11 15:19 PST, Yusuke Suzuki
ews-feeder: commit-queue-
Patch (4.53 KB, patch)
2020-11-11 15:26 PST, Yusuke Suzuki
no flags
Yusuke Suzuki
Comment 1 2020-11-08 22:39:37 PST
We should do it, including B3 / Air, and this is more important now since SharedArrayBuffer / Atomics will use it.
Yusuke Suzuki
Comment 2 2020-11-08 22:52:08 PST
We know that LL/SC does not work well in heterogeneous architecture. Since weak cores' perf is slower, and LL/SC in weak cores fails and weak cores starve if they are contending with strong cores. This encourages us to emit CAS.
Yusuke Suzuki
Comment 3 2020-11-11 15:11:33 PST
Yusuke Suzuki
Comment 4 2020-11-11 15:19:56 PST
Yusuke Suzuki
Comment 5 2020-11-11 15:26:00 PST
Note You need to log in before you can comment on or make changes to this bug.