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