Bug 172306 - B3::Value::effects() says that having a fence range implies the fence bit, but on x86_64 we lower loadAcq/storeRel to load/store so the store-before-load fence bit orderings won't be honored
Summary: B3::Value::effects() says that having a fence range implies the fence bit, bu...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-05-18 12:51 PDT by Filip Pizlo
Modified: 2017-05-19 08:49 PDT (History)
6 users (show)

See Also:


Attachments
possible patch (22.72 KB, patch)
2017-05-18 15:51 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (32.61 KB, patch)
2017-05-18 16:48 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (32.60 KB, patch)
2017-05-18 17:29 PDT, Filip Pizlo
msaboff: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2017-05-18 12:51:41 PDT
As the title says.
Comment 1 Filip Pizlo 2017-05-18 12:52:44 PDT
I think that this means that MacroAssembler::storeRel on x86 should emit a xchg.
Comment 2 Filip Pizlo 2017-05-18 12:56:55 PDT
Seems like MacroAssembler even having methods like loadAcq and storeRel is super confusing.

B3::LowerToAir should be making a deliberate choice about what acq/rel mean for x86, and I think that the only right interpretation is that rel means xchg.
Comment 3 Radar WebKit Bug Importer 2017-05-18 13:21:27 PDT
<rdar://problem/32279715>
Comment 4 Filip Pizlo 2017-05-18 15:51:10 PDT
Created attachment 310565 [details]
possible patch
Comment 5 Filip Pizlo 2017-05-18 16:48:45 PDT
Created attachment 310575 [details]
the patch
Comment 6 Filip Pizlo 2017-05-18 17:29:35 PDT
Created attachment 310578 [details]
the patch
Comment 7 Michael Saboff 2017-05-18 19:58:02 PDT
Comment on attachment 310578 [details]
the patch

r=me
Comment 8 Filip Pizlo 2017-05-19 08:49:01 PDT
Landed in http://trac.webkit.org/changeset/217127/webkit