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