Title: [214300] trunk/Source/_javascript_Core
Revision
214300
Author
[email protected]
Date
2017-03-23 02:25:06 -0700 (Thu, 23 Mar 2017)

Log Message

[jsc] Add MacroAssemblerMIPS::storeFence()
https://bugs.webkit.org/show_bug.cgi?id=169705

Patch by Guillaume Emont <[email protected]> on 2017-03-23
Reviewed by Yusuke Suzuki.

There doesn't seem to be anything more fine grained than "sync" that
guarantees that all memory operations following it are going to happen
after all stores before it, so we just use sync.

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::sync): Added a FIXME about SYNC_MB.
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::storeFence): Added.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (214299 => 214300)


--- trunk/Source/_javascript_Core/ChangeLog	2017-03-23 09:10:36 UTC (rev 214299)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-03-23 09:25:06 UTC (rev 214300)
@@ -1,3 +1,19 @@
+2017-03-23  Guillaume Emont  <[email protected]>
+
+        [jsc] Add MacroAssemblerMIPS::storeFence()
+        https://bugs.webkit.org/show_bug.cgi?id=169705
+
+        Reviewed by Yusuke Suzuki.
+
+        There doesn't seem to be anything more fine grained than "sync" that
+        guarantees that all memory operations following it are going to happen
+        after all stores before it, so we just use sync.
+
+        * assembler/MIPSAssembler.h:
+        (JSC::MIPSAssembler::sync): Added a FIXME about SYNC_MB.
+        * assembler/MacroAssemblerMIPS.h:
+        (JSC::MacroAssemblerMIPS::storeFence): Added.
+
 2017-03-22  Yusuke Suzuki  <[email protected]>
 
         [JSC][DFG] Propagate AnyIntAsDouble information carefully to utilize it in fixup

Modified: trunk/Source/_javascript_Core/assembler/MIPSAssembler.h (214299 => 214300)


--- trunk/Source/_javascript_Core/assembler/MIPSAssembler.h	2017-03-23 09:10:36 UTC (rev 214299)
+++ trunk/Source/_javascript_Core/assembler/MIPSAssembler.h	2017-03-23 09:25:06 UTC (rev 214300)
@@ -207,6 +207,9 @@
     
     void sync()
     {
+        // FIXME: https://bugs.webkit.org/show_bug.cgi?id=169984
+        // We might get a performance improvements by using SYNC_MB in some or
+        // all cases.
         emitInst(0x0000000f);
     }
 

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h (214299 => 214300)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2017-03-23 09:10:36 UTC (rev 214299)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2017-03-23 09:25:06 UTC (rev 214300)
@@ -2975,6 +2975,11 @@
         breakpoint();
     }
 
+    void storeFence()
+    {
+        m_assembler.sync();
+    }
+
     void abortWithReason(AbortReason reason, intptr_t misc)
     {
         move(TrustedImm32(misc), immTempRegister);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to