Unreviewed, rolling out r234874 and r234876.
authorHironori.Fujii@sony.com <Hironori.Fujii@sony.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Aug 2018 04:46:12 +0000 (04:46 +0000)
committerHironori.Fujii@sony.com <Hironori.Fujii@sony.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Aug 2018 04:46:12 +0000 (04:46 +0000)
WinCairo port can't compile

Reverted changesets:

"[JSC] Add GPRReg::InvalidGPRReg and FPRReg::InvalidFPRReg"
https://bugs.webkit.org/show_bug.cgi?id=188589
https://trac.webkit.org/changeset/234874

"Unreviewed, attempt to fix CLoop build"
https://bugs.webkit.org/show_bug.cgi?id=188589
https://trac.webkit.org/changeset/234876

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234880 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 files changed:
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/assembler/ARM64Assembler.h
Source/JavaScriptCore/assembler/ARMAssembler.h
Source/JavaScriptCore/assembler/ARMv7Assembler.h
Source/JavaScriptCore/assembler/MIPSAssembler.h
Source/JavaScriptCore/assembler/MacroAssembler.h
Source/JavaScriptCore/assembler/X86Assembler.h
Source/JavaScriptCore/jit/CCallHelpers.h
Source/JavaScriptCore/jit/FPRInfo.h
Source/JavaScriptCore/jit/GPRInfo.h
Source/WebCore/ChangeLog
Source/WebCore/cssjit/FunctionCall.h
Source/WebCore/cssjit/SelectorCompiler.cpp

index ebd0774..81a4c67 100644 (file)
@@ -1,3 +1,19 @@
+2018-08-14  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        Unreviewed, rolling out r234874 and r234876.
+
+        WinCairo port can't compile
+
+        Reverted changesets:
+
+        "[JSC] Add GPRReg::InvalidGPRReg and FPRReg::InvalidFPRReg"
+        https://bugs.webkit.org/show_bug.cgi?id=188589
+        https://trac.webkit.org/changeset/234874
+
+        "Unreviewed, attempt to fix CLoop build"
+        https://bugs.webkit.org/show_bug.cgi?id=188589
+        https://trac.webkit.org/changeset/234876
+
 2018-08-14  Saam barati  <sbarati@apple.com>
 
         HashMap<Ref<P>, V> asserts when V is not zero for its empty value
index 3c9478e..209e53a 100644 (file)
@@ -162,7 +162,7 @@ inline uint16_t getHalfword(uint64_t value, int which)
 
 namespace ARM64Registers {
 
-typedef enum : int8_t {
+typedef enum {
     // Parameter/result registers.
     x0,
     x1,
@@ -208,10 +208,9 @@ typedef enum : int8_t {
     x29 = fp,
     x30 = lr,
     zr = 0x3f,
-    InvalidGPRReg = -1,
 } RegisterID;
 
-typedef enum : int8_t {
+typedef enum {
     pc,
     nzcv,
     fpsr
@@ -220,7 +219,7 @@ typedef enum : int8_t {
 // ARM64 always has 32 FPU registers 128-bits each. See http://llvm.org/devmtg/2012-11/Northover-AArch64.pdf
 // and Section 5.1.2 in http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055b/IHI0055B_aapcs64.pdf.
 // However, we only use them for 64-bit doubles.
-typedef enum : int8_t {
+typedef enum {
     // Parameter/result registers.
     q0,
     q1,
@@ -256,7 +255,6 @@ typedef enum : int8_t {
     q29,
     q30,
     q31,
-    InvalidFPRReg = -1,
 } FPRegisterID;
 
 static constexpr bool isSp(RegisterID reg) { return reg == sp; }
index 3554821..362ad37 100644 (file)
@@ -38,7 +38,7 @@ namespace JSC {
 
     namespace ARMRegisters {
 
-        typedef enum : int8_t {
+        typedef enum {
             r0,
             r1,
             r2,
@@ -62,16 +62,15 @@ namespace JSC {
             r12 = ip, S1 = ip,
             r13 = sp,
             r14 = lr,
-            r15 = pc,
-            InvalidGPRReg = -1,
+            r15 = pc
         } RegisterID;
 
-        typedef enum : int8_t {
+        typedef enum {
             apsr,
             fpscr
         } SPRegisterID;
 
-        typedef enum : int8_t {
+        typedef enum {
             d0,
             d1,
             d2,
@@ -106,7 +105,6 @@ namespace JSC {
             d30,
             d31,
 #endif // CPU(ARM_NEON) || CPU(ARM_VFP_V3_D32)
-            InvalidFPRReg = -1,
         } FPRegisterID;
 
     } // namespace ARMRegisters
index 40d785e..3bade3f 100644 (file)
@@ -39,7 +39,7 @@ namespace JSC {
 
 namespace ARMRegisters {
 
-    typedef enum : int8_t {
+    typedef enum {
         r0,
         r1,
         r2,
@@ -63,16 +63,15 @@ namespace ARMRegisters {
         ip = r12,
         sp = r13,
         lr = r14,
-        pc = r15,
-        InvalidGPRReg = -1,
+        pc = r15
     } RegisterID;
 
-    typedef enum : int8_t {
+    typedef enum {
         apsr,
         fpscr
     } SPRegisterID;
 
-    typedef enum : int8_t {
+    typedef enum {
         s0,
         s1,
         s2,
@@ -107,7 +106,7 @@ namespace ARMRegisters {
         s31,
     } FPSingleRegisterID;
 
-    typedef enum : int8_t {
+    typedef enum {
         d0,
         d1,
         d2,
@@ -142,11 +141,10 @@ namespace ARMRegisters {
         d30,
         d31,
 #endif // CPU(ARM_NEON) || CPU(ARM_VFP_V3_D32)
-        InvalidFPRReg = -1,
     } FPDoubleRegisterID;
 
 #if CPU(ARM_NEON)
-    typedef enum : int8_t {
+    typedef enum {
         q0,
         q1,
         q2,
index edb2244..e3e5490 100644 (file)
@@ -41,7 +41,7 @@ namespace JSC {
 typedef uint32_t MIPSWord;
 
 namespace MIPSRegisters {
-typedef enum : int8_t {
+typedef enum {
     r0 = 0,
     r1,
     r2,
@@ -105,11 +105,10 @@ typedef enum : int8_t {
     gp = r28,
     sp = r29,
     fp = r30,
-    ra = r31,
-    InvalidGPRReg = -1,
+    ra = r31
 } RegisterID;
 
-typedef enum : int8_t {
+typedef enum {
     fir = 0,
     fccr = 25,
     fexr = 26,
@@ -118,7 +117,7 @@ typedef enum : int8_t {
     pc
 } SPRegisterID;
 
-typedef enum : int8_t {
+typedef enum {
     f0,
     f1,
     f2,
@@ -150,8 +149,7 @@ typedef enum : int8_t {
     f28,
     f29,
     f30,
-    f31,
-    InvalidFPRReg = -1,
+    f31
 } FPRegisterID;
 
 } // namespace MIPSRegisters
index 625b112..d3c8176 100644 (file)
@@ -1997,8 +1997,8 @@ private:
     
 public:
     
-    enum RegisterID : int8_t { NoRegister, InvalidGPRReg = -1 };
-    enum FPRegisterID : int8_t { NoFPRegister, InvalidFPRReg = -1 };
+    enum RegisterID { NoRegister };
+    enum FPRegisterID { NoFPRegister };
 };
 
 } // namespace JSC
index f3a4083..1ea7a75 100644 (file)
@@ -41,7 +41,7 @@ inline bool CAN_SIGN_EXTEND_8_32(int32_t value) { return value == (int32_t)(sign
 
 namespace X86Registers {
 
-typedef enum : int8_t {
+typedef enum {
     eax,
     ecx,
     edx,
@@ -58,17 +58,16 @@ typedef enum : int8_t {
     r12,
     r13,
     r14,
-    r15,
+    r15
 #endif
-    InvalidGPRReg = -1,
 } RegisterID;
 
-typedef enum : int8_t {
+typedef enum {
     eip,
     eflags
 } SPRegisterID;
 
-typedef enum : int8_t {
+typedef enum {
     xmm0,
     xmm1,
     xmm2,
@@ -85,9 +84,8 @@ typedef enum : int8_t {
     xmm12,
     xmm13,
     xmm14,
-    xmm15,
+    xmm15
 #endif
-    InvalidFPRReg = -1,
 } XMMRegisterID;
 
 } // namespace X86Register
index 1d8e3be..e20ced4 100644 (file)
@@ -314,7 +314,7 @@ private:
         std::array<RegType, TargetSize> result { };
 
         for (unsigned i = 0; i < TargetSize; i++) {
-            ASSERT(sourceArray[i] != static_cast<int32_t>(InfoTypeForReg<RegType>::InvalidIndex));
+            ASSERT(sourceArray[i] != InfoTypeForReg<RegType>::InvalidIndex);
             result[i] = sourceArray[i];
         }
 
index a24d1cb..ea47197 100644 (file)
@@ -31,7 +31,7 @@
 namespace JSC {
 
 typedef MacroAssembler::FPRegisterID FPRReg;
-static constexpr FPRReg InvalidFPRReg { FPRReg::InvalidFPRReg };
+#define InvalidFPRReg ((::JSC::FPRReg)-1)
 
 #if ENABLE(JIT)
 
index 2d374e3..8a086dd 100644 (file)
@@ -39,7 +39,7 @@ enum NoResultTag { NoResult };
 // top of the LowLevelInterpreter.asm file.
 
 typedef MacroAssembler::RegisterID GPRReg;
-static constexpr GPRReg InvalidGPRReg { GPRReg::InvalidGPRReg };
+#define InvalidGPRReg ((::JSC::GPRReg)-1)
 
 #if ENABLE(JIT)
 
@@ -161,8 +161,8 @@ private:
 class JSValueRegs {
 public:
     JSValueRegs()
-        : m_tagGPR(InvalidGPRReg)
-        , m_payloadGPR(InvalidGPRReg)
+        : m_tagGPR(static_cast<int8_t>(InvalidGPRReg))
+        , m_payloadGPR(static_cast<int8_t>(InvalidGPRReg))
     {
     }
     
@@ -196,8 +196,8 @@ public:
     }
     bool operator!=(JSValueRegs other) const { return !(*this == other); }
     
-    GPRReg tagGPR() const { return m_tagGPR; }
-    GPRReg payloadGPR() const { return m_payloadGPR; }
+    GPRReg tagGPR() const { return static_cast<GPRReg>(m_tagGPR); }
+    GPRReg payloadGPR() const { return static_cast<GPRReg>(m_payloadGPR); }
     GPRReg gpr(WhichValueWord which) const
     {
         switch (which) {
@@ -215,16 +215,16 @@ public:
     void dump(PrintStream&) const;
     
 private:
-    GPRReg m_tagGPR;
-    GPRReg m_payloadGPR;
+    int8_t m_tagGPR;
+    int8_t m_payloadGPR;
 };
 
 class JSValueSource {
 public:
     JSValueSource()
         : m_offset(notAddress())
-        , m_baseOrTag(InvalidGPRReg)
-        , m_payload(InvalidGPRReg)
+        , m_baseOrTag(static_cast<int8_t>(InvalidGPRReg))
+        , m_payload(static_cast<int8_t>(InvalidGPRReg))
         , m_tagType(0)
     {
     }
@@ -239,28 +239,28 @@ public:
     
     JSValueSource(GPRReg tagGPR, GPRReg payloadGPR)
         : m_offset(notAddress())
-        , m_baseOrTag(tagGPR)
-        , m_payload(payloadGPR)
+        , m_baseOrTag(static_cast<int8_t>(tagGPR))
+        , m_payload(static_cast<int8_t>(payloadGPR))
         , m_tagType(0)
     {
     }
     
     JSValueSource(MacroAssembler::Address address)
         : m_offset(address.offset)
-        , m_baseOrTag(address.base)
-        , m_payload(InvalidGPRReg)
+        , m_baseOrTag(static_cast<int8_t>(address.base))
+        , m_payload(static_cast<int8_t>(InvalidGPRReg))
         , m_tagType(0)
     {
         ASSERT(m_offset != notAddress());
-        ASSERT(m_baseOrTag != InvalidGPRReg);
+        ASSERT(static_cast<GPRReg>(m_baseOrTag) != InvalidGPRReg);
     }
     
     static JSValueSource unboxedCell(GPRReg payloadGPR)
     {
         JSValueSource result;
         result.m_offset = notAddress();
-        result.m_baseOrTag = InvalidGPRReg;
-        result.m_payload = payloadGPR;
+        result.m_baseOrTag = static_cast<int8_t>(InvalidGPRReg);
+        result.m_payload = static_cast<int8_t>(payloadGPR);
         result.m_tagType = static_cast<int8_t>(JSValue::CellTag);
         return result;
     }
@@ -268,7 +268,8 @@ public:
     bool operator!() const { return !static_cast<bool>(*this); }
     explicit operator bool() const
     {
-        return m_baseOrTag != InvalidGPRReg || m_payload != InvalidGPRReg;
+        return static_cast<GPRReg>(m_baseOrTag) != InvalidGPRReg
+            || static_cast<GPRReg>(m_payload) != InvalidGPRReg;
     }
     
     bool isAddress() const
@@ -286,26 +287,26 @@ public:
     GPRReg base() const
     {
         ASSERT(isAddress());
-        return m_baseOrTag;
+        return static_cast<GPRReg>(m_baseOrTag);
     }
     
     GPRReg tagGPR() const
     {
-        ASSERT(!isAddress() && m_baseOrTag != InvalidGPRReg);
-        return m_baseOrTag;
+        ASSERT(!isAddress() && static_cast<GPRReg>(m_baseOrTag) != InvalidGPRReg);
+        return static_cast<GPRReg>(m_baseOrTag);
     }
     
     GPRReg payloadGPR() const
     {
         ASSERT(!isAddress());
-        return m_payload;
+        return static_cast<GPRReg>(m_payload);
     }
     
     bool hasKnownTag() const
     {
         ASSERT(!!*this);
         ASSERT(!isAddress());
-        return m_baseOrTag == InvalidGPRReg;
+        return static_cast<GPRReg>(m_baseOrTag) == InvalidGPRReg;
     }
     
     uint32_t tag() const
@@ -324,8 +325,8 @@ private:
     static inline int32_t notAddress() { return 0x80000000; }     
           
     int32_t m_offset;
-    GPRReg m_baseOrTag;
-    GPRReg m_payload;
+    int8_t m_baseOrTag;
+    int8_t m_payload; 
     int8_t m_tagType; // Contains the low bits of the tag.
 };
 #endif // USE(JSVALUE32_64)
index f0ef389..b339098 100644 (file)
@@ -1,3 +1,19 @@
+2018-08-14  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        Unreviewed, rolling out r234874 and r234876.
+
+        WinCairo port can't compile
+
+        Reverted changesets:
+
+        "[JSC] Add GPRReg::InvalidGPRReg and FPRReg::InvalidFPRReg"
+        https://bugs.webkit.org/show_bug.cgi?id=188589
+        https://trac.webkit.org/changeset/234874
+
+        "Unreviewed, attempt to fix CLoop build"
+        https://bugs.webkit.org/show_bug.cgi?id=188589
+        https://trac.webkit.org/changeset/234876
+
 2018-08-14  Zalan Bujtas  <zalan@apple.com>
 
         [LFC][Floating] Add support for negative clearance.
index 85ec74a..346cf28 100644 (file)
@@ -43,8 +43,8 @@ public:
         , m_stackAllocator(stackAllocator)
         , m_callRegistry(callRegistry)
         , m_argumentCount(0)
-        , m_firstArgument(JSC::InvalidGPRReg)
-        , m_secondArgument(JSC::InvalidGPRReg)
+        , m_firstArgument(InvalidGPRReg)
+        , m_secondArgument(InvalidGPRReg)
     {
     }
 
index 46ada4f..708a401 100644 (file)
@@ -2378,7 +2378,7 @@ Assembler::Jump SelectorCodeGenerator::modulo(Assembler::ResultCondition conditi
     Assembler::RegisterID dividend = JSC::X86Registers::eax;
     RegisterAllocationType dividendAllocation = RegisterAllocationType::External;
     StackAllocator::StackReference temporaryDividendStackReference;
-    Assembler::RegisterID temporaryDividendCopy = JSC::InvalidGPRReg;
+    Assembler::RegisterID temporaryDividendCopy = InvalidGPRReg;
     if (inputDividend != dividend) {
         bool registerIsInUse = m_registerAllocator.allocatedRegisters().contains(dividend);
         if (registerIsInUse) {
@@ -2400,7 +2400,7 @@ Assembler::Jump SelectorCodeGenerator::modulo(Assembler::ResultCondition conditi
     Assembler::RegisterID remainder = JSC::X86Registers::edx;
     RegisterAllocationType remainderAllocation = RegisterAllocationType::External;
     StackAllocator::StackReference temporaryRemainderStackReference;
-    Assembler::RegisterID temporaryRemainderCopy = JSC::InvalidGPRReg;
+    Assembler::RegisterID temporaryRemainderCopy = InvalidGPRReg;
     if (inputDividend != remainder) {
         bool registerIsInUse = m_registerAllocator.allocatedRegisters().contains(remainder);
         if (registerIsInUse) {