Bug 162343 - Add a Fence opcode to B3
Summary: Add a Fence opcode to B3
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:
Depends on:
Blocks: 162350 162316 162342 162349
  Show dependency treegraph
 
Reported: 2016-09-21 09:40 PDT by Filip Pizlo
Modified: 2016-09-21 12:12 PDT (History)
2 users (show)

See Also:


Attachments
the patch (29.84 KB, patch)
2016-09-21 11:30 PDT, Filip Pizlo
ggaren: 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 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