Title: [213881] trunk/Source/_javascript_Core
Revision
213881
Author
[email protected]
Date
2017-03-13 17:34:28 -0700 (Mon, 13 Mar 2017)

Log Message

JSC: fix compilation errors for MIPS
https://bugs.webkit.org/show_bug.cgi?id=168402

Patch by SKumarMetro <[email protected]> on 2017-03-13
Reviewed by Mark Lam.

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::fillNops):
Added.
* assembler/MacroAssemblerMIPS.h:
Added MacroAssemblerMIPS::numGPRs and MacroAssemblerMIPS::numFPRs .
* bytecode/InlineAccess.h:
(JSC::InlineAccess::sizeForPropertyAccess):
(JSC::InlineAccess::sizeForPropertyReplace):
(JSC::InlineAccess::sizeForLengthAccess):
Added MIPS cases.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (213880 => 213881)


--- trunk/Source/_javascript_Core/ChangeLog	2017-03-14 00:30:48 UTC (rev 213880)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-03-14 00:34:28 UTC (rev 213881)
@@ -1,3 +1,21 @@
+2017-03-13  SKumarMetro  <[email protected]>
+
+        JSC: fix compilation errors for MIPS
+        https://bugs.webkit.org/show_bug.cgi?id=168402
+
+        Reviewed by Mark Lam.
+
+        * assembler/MIPSAssembler.h:
+        (JSC::MIPSAssembler::fillNops):
+        Added.
+        * assembler/MacroAssemblerMIPS.h:
+        Added MacroAssemblerMIPS::numGPRs and MacroAssemblerMIPS::numFPRs .
+        * bytecode/InlineAccess.h:
+        (JSC::InlineAccess::sizeForPropertyAccess):
+        (JSC::InlineAccess::sizeForPropertyReplace):
+        (JSC::InlineAccess::sizeForLengthAccess):
+        Added MIPS cases.
+
 2017-03-13  Filip Pizlo  <[email protected]>
 
         FTL should not flush strict arguments unless it really needs to

Modified: trunk/Source/_javascript_Core/assembler/MIPSAssembler.h (213880 => 213881)


--- trunk/Source/_javascript_Core/assembler/MIPSAssembler.h	2017-03-14 00:30:48 UTC (rev 213880)
+++ trunk/Source/_javascript_Core/assembler/MIPSAssembler.h	2017-03-14 00:34:28 UTC (rev 213881)
@@ -32,6 +32,7 @@
 
 #include "AssemblerBuffer.h"
 #include "JITCompilationEffort.h"
+#include <limits.h>
 #include <wtf/Assertions.h>
 #include <wtf/SegmentedVector.h>
 
@@ -191,7 +192,19 @@
     {
         emitInst(0x00000000);
     }
+    
+    static void fillNops(void* base, size_t size, bool isCopyingToExecutableMemory)
+    {
+        UNUSED_PARAM(isCopyingToExecutableMemory);
+        RELEASE_ASSERT(!(size % sizeof(int32_t)));
 
+        int32_t* ptr = static_cast<int32_t*>(base);
+        const size_t num32s = size / sizeof(int32_t);
+        const int32_t insn = 0x00000000;
+        for (size_t i = 0; i < num32s; i++)
+            *ptr++ = insn;
+    }
+    
     void sync()
     {
         emitInst(0x0000000f);

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h (213880 => 213881)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2017-03-14 00:30:48 UTC (rev 213880)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2017-03-14 00:34:28 UTC (rev 213881)
@@ -28,8 +28,8 @@
 
 #if ENABLE(ASSEMBLER) && CPU(MIPS)
 
+#include "MIPSAssembler.h"
 #include "AbstractMacroAssembler.h"
-#include "MIPSAssembler.h"
 
 namespace JSC {
 
@@ -36,6 +36,8 @@
 class MacroAssemblerMIPS : public AbstractMacroAssembler<MIPSAssembler, MacroAssemblerMIPS> {
 public:
     typedef MIPSRegisters::FPRegisterID FPRegisterID;
+    static const unsigned numGPRs = 32;
+    static const unsigned numFPRs = 32;
 
     MacroAssemblerMIPS()
         : m_fixedWidth(false)

Modified: trunk/Source/_javascript_Core/bytecode/InlineAccess.h (213880 => 213881)


--- trunk/Source/_javascript_Core/bytecode/InlineAccess.h	2017-03-14 00:30:48 UTC (rev 213880)
+++ trunk/Source/_javascript_Core/bytecode/InlineAccess.h	2017-03-14 00:34:28 UTC (rev 213881)
@@ -55,6 +55,8 @@
 #else
         return 52;
 #endif
+#elif CPU(MIPS)
+        return 72;
 #else
 #error "unsupported platform"
 #endif
@@ -75,6 +77,8 @@
 #else
         return 48;
 #endif
+#elif CPU(MIPS)
+        return 72;
 #else
 #error "unsupported platform"
 #endif
@@ -98,6 +102,8 @@
 #else
         size_t size = 32;
 #endif
+#elif CPU(MIPS)
+        size_t size = 56;
 #else
 #error "unsupported platform"
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to