Bug 162343

Summary: Add a Fence opcode to B3
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, jfbastien
Priority: P2    
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 162350, 162316, 162342, 162349    
Attachments:
Description Flags
the patch ggaren: review+

Description Filip Pizlo 2016-09-21 09:40:44 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2016-09-21 11:30:55 PDT
Created attachment 289469 [details]
the patch
Comment 2 WebKit Commit Bot 2016-09-21 11:32:42 PDT
Attachment 289469 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/b3/B3FenceValue.h:80:  The parameter name "origin" adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/b3/B3FenceValue.h:82:  The parameter name "origin" adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 JF Bastien 2016-09-21 11:45:21 PDT
FYI an idempotent locked access to top-of-stack can kinda serve as a less-expensive fence on x86. Something like lock or4i [RSP-8] 0
Comment 4 Geoffrey Garen 2016-09-21 11:47:55 PDT
Comment on attachment 289469 [details]
the patch

r=me

I still hate threads.
Comment 5 Filip Pizlo 2016-09-21 12:09:34 PDT
(In reply to comment #3)
> FYI an idempotent locked access to top-of-stack can kinda serve as a
> less-expensive fence on x86. Something like lock or4i [RSP-8] 0

Huh.  Does this correctly guard the store-load case?  Should we change WTF's storeLoadFence to do this as well?
Comment 6 Filip Pizlo 2016-09-21 12:12:01 PDT
Landed in https://trac.webkit.org/changeset/206226