Bug 169984 - [jsc][mips] study whether using SYNC_MB for memoryFence/storeFence works and improves performances
Summary: [jsc][mips] study whether using SYNC_MB for memoryFence/storeFence works and ...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: Other
Hardware: Other Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-22 17:48 PDT by Guillaume Emont
Modified: 2017-03-22 17:51 PDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Guillaume Emont 2017-03-22 17:48:49 PDT
For MacroAssemblerMIPS::memoryFence() and ::storeFence(), we use a sync instruction with SYNC (0) in the stype field. We should check whether the optional SYNC_MB (0x10) stype can work for our needs. It is defined as forcing the order of memory accesses, but unlike SYNC, SYNC_MB does not require all older instructions to be completed when the sync instruction completes, but only that they reach the load/store ordering point before the sync instruction completes, which is a slightly lighter constraint that should still be good enough for us, while potentially having a lower performance hit.
Comment 1 Guillaume Emont 2017-03-22 17:51:02 PDT
See also the discussion in https://bugs.webkit.org/show_bug.cgi?id=169705