Open
Bug 1077321
Opened 10 years ago
Updated 2 years ago
ARM: Optimize JS atomics code for ARMv8
Categories
(Core :: JavaScript Engine: JIT, defect, P5)
Tracking
()
NEW
People
(Reporter: lth, Unassigned)
References
(Blocks 1 open bug)
Details
Followup work on bug 979594.
On ARMv8 there are new load-acquire-exclusive and store-release-exclusive instructions (for AArch32 as well as AArch64) that may allow us to generate better code for atomic compareExchange, add, sub, and, or, and xor. Specifically, it may be possible to remove one or both fences that are associated with these operations.
Reporter | ||
Updated•8 years ago
|
Priority: -- → P5
Reporter | ||
Updated•8 years ago
|
No longer blocks: shared-array-buffer
Reporter | ||
Comment 1•6 years ago
|
||
Shu and Conrad say that we have to adjust the memory model in JS slightly to allow seq_cst loads and stores to be compiled to LDA / STL without any fences at all, but it sounds like this will actually happen.
(Shu also says "V8 and JSC have patches in flight to enable emitting bare LDA and STL for JS and wasm atomics." So there's that.)
Reporter | ||
Comment 2•3 years ago
|
||
Note also there are new CAS instructions in ARMv8.1.
No longer blocks: 1687630
Summary: ARM: Optimize atomics code for ARMv8 → ARM: Optimize JS atomics code for ARMv8
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•