Patch forthcoming.
Created attachment 289592 [details] the patch
Comment on attachment 289592 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=289592&action=review r=me > Source/JavaScriptCore/ChangeLog:22 > + compiles to Air MemoryFence, which is just MacroAssembler::memoryFene(), this also changes /Fene/Fence/.
r=me Good fences make good neighbors.
(In reply to comment #2) > Comment on attachment 289592 [details] > the patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=289592&action=review > > r=me > > > Source/JavaScriptCore/ChangeLog:22 > > + compiles to Air MemoryFence, which is just MacroAssembler::memoryFene(), this also changes > > /Fene/Fence/. Fixed.
Landed in https://trac.webkit.org/changeset/206274
Very cool! I forgot to say when I suggested this: AFAIK this doesn't order non-temporals. You probably want to do lfence / sfence around Its anyways, so the point is moot. You may just have happened to get fencing for Its before because of the mfence :-)
(In reply to comment #6) > Very cool! > > I forgot to say when I suggested this: AFAIK this doesn't order > non-temporals. You probably want to do lfence / sfence around Its anyways, > so the point is moot. You may just have happened to get fencing for Its > before because of the mfence :-) Fortunately, I don't think we use non-temporals anywhere. I had some code where I tried to use them at one point for memset, but that was when I found out that rep stosl is the bomb dot com.