Title: [99745] trunk/Source/_javascript_Core
Revision
99745
Author
[email protected]
Date
2011-11-09 12:01:24 -0800 (Wed, 09 Nov 2011)

Log Message

https://bugs.webkit.org/show_bug.cgi?id=71873

Reviewed by Geoff Garen.

Incrementally re-landing these changes, trying to determine what went wrong.
(The whole patch failed tests on the build bot but worked locally.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::supportsFloatingPoint):
(JSC::MacroAssemblerARM::supportsFloatingPointTruncate):
(JSC::MacroAssemblerARM::supportsFloatingPointSqrt):
(JSC::MacroAssemblerARM::supportsFloatingPointAbs):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::supportsFloatingPoint):
(JSC::MacroAssemblerARMv7::supportsFloatingPointTruncate):
(JSC::MacroAssemblerARMv7::supportsFloatingPointSqrt):
(JSC::MacroAssemblerARMv7::supportsFloatingPointAbs):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::supportsFloatingPoint):
(JSC::MacroAssemblerMIPS::supportsFloatingPointTruncate):
(JSC::MacroAssemblerMIPS::supportsFloatingPointSqrt):
(JSC::MacroAssemblerMIPS::supportsFloatingPointAbs):
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::supportsFloatingPoint):
(JSC::MacroAssemblerSH4::supportsFloatingPointTruncate):
(JSC::MacroAssemblerSH4::supportsFloatingPointSqrt):
(JSC::MacroAssemblerSH4::supportsFloatingPointAbs):
* assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::supportsFloatingPoint):
(JSC::MacroAssemblerX86::supportsFloatingPointTruncate):
(JSC::MacroAssemblerX86::supportsFloatingPointSqrt):
(JSC::MacroAssemblerX86::supportsFloatingPointAbs):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::supportsFloatingPoint):
(JSC::MacroAssemblerX86_64::supportsFloatingPointTruncate):
(JSC::MacroAssemblerX86_64::supportsFloatingPointSqrt):
(JSC::MacroAssemblerX86_64::supportsFloatingPointAbs):
* jit/ThunkGenerators.cpp:
(JSC::absThunkGenerator):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (99744 => 99745)


--- trunk/Source/_javascript_Core/ChangeLog	2011-11-09 19:57:16 UTC (rev 99744)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-11-09 20:01:24 UTC (rev 99745)
@@ -1,3 +1,45 @@
+2011-11-09  Gavin Barraclough  <[email protected]>
+
+        https://bugs.webkit.org/show_bug.cgi?id=71873
+
+        Reviewed by Geoff Garen.
+
+        Incrementally re-landing these changes, trying to determine what went wrong.
+        (The whole patch failed tests on the build bot but worked locally.
+
+        * assembler/MacroAssemblerARM.h:
+        (JSC::MacroAssemblerARM::supportsFloatingPoint):
+        (JSC::MacroAssemblerARM::supportsFloatingPointTruncate):
+        (JSC::MacroAssemblerARM::supportsFloatingPointSqrt):
+        (JSC::MacroAssemblerARM::supportsFloatingPointAbs):
+        * assembler/MacroAssemblerARMv7.h:
+        (JSC::MacroAssemblerARMv7::supportsFloatingPoint):
+        (JSC::MacroAssemblerARMv7::supportsFloatingPointTruncate):
+        (JSC::MacroAssemblerARMv7::supportsFloatingPointSqrt):
+        (JSC::MacroAssemblerARMv7::supportsFloatingPointAbs):
+        * assembler/MacroAssemblerMIPS.h:
+        (JSC::MacroAssemblerMIPS::supportsFloatingPoint):
+        (JSC::MacroAssemblerMIPS::supportsFloatingPointTruncate):
+        (JSC::MacroAssemblerMIPS::supportsFloatingPointSqrt):
+        (JSC::MacroAssemblerMIPS::supportsFloatingPointAbs):
+        * assembler/MacroAssemblerSH4.h:
+        (JSC::MacroAssemblerSH4::supportsFloatingPoint):
+        (JSC::MacroAssemblerSH4::supportsFloatingPointTruncate):
+        (JSC::MacroAssemblerSH4::supportsFloatingPointSqrt):
+        (JSC::MacroAssemblerSH4::supportsFloatingPointAbs):
+        * assembler/MacroAssemblerX86.h:
+        (JSC::MacroAssemblerX86::supportsFloatingPoint):
+        (JSC::MacroAssemblerX86::supportsFloatingPointTruncate):
+        (JSC::MacroAssemblerX86::supportsFloatingPointSqrt):
+        (JSC::MacroAssemblerX86::supportsFloatingPointAbs):
+        * assembler/MacroAssemblerX86_64.h:
+        (JSC::MacroAssemblerX86_64::supportsFloatingPoint):
+        (JSC::MacroAssemblerX86_64::supportsFloatingPointTruncate):
+        (JSC::MacroAssemblerX86_64::supportsFloatingPointSqrt):
+        (JSC::MacroAssemblerX86_64::supportsFloatingPointAbs):
+        * jit/ThunkGenerators.cpp:
+        (JSC::absThunkGenerator):
+
 2011-11-08  Darin Adler  <[email protected]>
 
         Add code path in HashTable for emptyValueIsZero that does not require copying the empty value

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h (99744 => 99745)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h	2011-11-09 19:57:16 UTC (rev 99744)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM.h	2011-11-09 20:01:24 UTC (rev 99745)
@@ -780,21 +780,21 @@
     }
 
     // Floating point operators
-    bool supportsFloatingPoint() const
+    static bool supportsFloatingPoint()
     {
         return s_isVFPPresent;
     }
 
-    bool supportsFloatingPointTruncate() const
+    static bool supportsFloatingPointTruncate()
     {
         return false;
     }
 
-    bool supportsFloatingPointSqrt() const
+    static bool supportsFloatingPointSqrt()
     {
         return s_isVFPPresent;
     }
-    bool supportsDoubleBitops() const { return false; }
+    static bool supportsFloatingPointAbs() { return false; }
 
     void loadDouble(ImplicitAddress address, FPRegisterID dest)
     {

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h (99744 => 99745)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h	2011-11-09 19:57:16 UTC (rev 99744)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h	2011-11-09 20:01:24 UTC (rev 99745)
@@ -564,7 +564,7 @@
 
     // Floating-point operations:
 
-    bool supportsFloatingPoint() const { return true; }
+    static bool supportsFloatingPoint() { return true; }
     // On x86(_64) the MacroAssembler provides an interface to truncate a double to an integer.
     // If a value is not representable as an integer, and possibly for some values that are,
     // (on x86 INT_MIN, since this is indistinguishable from results for out-of-range/NaN input)
@@ -576,13 +576,13 @@
     // generic, or decide that the MacroAssembler cannot practically be used to abstracted these
     // operations, and make clients go directly to the m_assembler to plant truncation instructions.
     // In short, FIXME:.
-    bool supportsFloatingPointTruncate() const { return false; }
+    static bool supportsFloatingPointTruncate() { return false; }
 
-    bool supportsFloatingPointSqrt() const
+    static bool supportsFloatingPointSqrt()
     {
         return false;
     }
-    bool supportsDoubleBitops() const { return false; }
+    static bool supportsFloatingPointAbs() { return false; }
 
     void loadDouble(ImplicitAddress address, FPRegisterID dest)
     {

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h (99744 => 99745)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2011-11-09 19:57:16 UTC (rev 99744)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2011-11-09 20:01:24 UTC (rev 99745)
@@ -834,7 +834,7 @@
 
     // Floating-point operations:
 
-    bool supportsFloatingPoint() const
+    static bool supportsFloatingPoint()
     {
 #if WTF_MIPS_DOUBLE_FLOAT
         return true;
@@ -843,7 +843,7 @@
 #endif
     }
 
-    bool supportsFloatingPointTruncate() const
+    static bool supportsFloatingPointTruncate()
     {
 #if WTF_MIPS_DOUBLE_FLOAT && WTF_MIPS_ISA_AT_LEAST(2)
         return true;
@@ -852,7 +852,7 @@
 #endif
     }
 
-    bool supportsFloatingPointSqrt() const
+    static bool supportsFloatingPointSqrt()
     {
 #if WTF_MIPS_DOUBLE_FLOAT && WTF_MIPS_ISA_AT_LEAST(2)
         return true;
@@ -860,7 +860,7 @@
         return false;
 #endif
     }
-    bool supportsDoubleBitops() const { return false; }
+    static bool supportsFloatingPointAbs() { return false; }
 
     // Stack manipulation operations:
     //

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h (99744 => 99745)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h	2011-11-09 19:57:16 UTC (rev 99744)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerSH4.h	2011-11-09 20:01:24 UTC (rev 99745)
@@ -786,10 +786,10 @@
 
      // Floating-point operations
 
-    bool supportsFloatingPoint() const { return true; }
-    bool supportsFloatingPointTruncate() const { return true; }
-    bool supportsFloatingPointSqrt() const { return true; }
-    bool supportsDoubleBitops() const { return false; }
+    static bool supportsFloatingPoint() { return true; }
+    static bool supportsFloatingPointTruncate() { return true; }
+    static bool supportsFloatingPointSqrt() { return true; }
+    static bool supportsFloatingPointAbs() { return false; }
 
     void loadDouble(ImplicitAddress address, FPRegisterID dest)
     {

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerX86.h (99744 => 99745)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerX86.h	2011-11-09 19:57:16 UTC (rev 99744)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerX86.h	2011-11-09 20:01:24 UTC (rev 99745)
@@ -34,11 +34,6 @@
 
 class MacroAssemblerX86 : public MacroAssemblerX86Common {
 public:
-    MacroAssemblerX86()
-        : m_isSSE2Present(isSSE2Present())
-    {
-    }
-
     static const Scale ScalePtr = TimesFour;
 
     using MacroAssemblerX86Common::add32;
@@ -189,15 +184,13 @@
         return DataLabelPtr(this);
     }
 
-    bool supportsFloatingPoint() const { return m_isSSE2Present; }
+    static bool supportsFloatingPoint() { return isSSE2Present(); }
     // See comment on MacroAssemblerARMv7::supportsFloatingPointTruncate()
-    bool supportsFloatingPointTruncate() const { return m_isSSE2Present; }
-    bool supportsFloatingPointSqrt() const { return m_isSSE2Present; }
-    bool supportsDoubleBitops() const { return m_isSSE2Present; }
+    static bool supportsFloatingPointTruncate() { return isSSE2Present(); }
+    static bool supportsFloatingPointSqrt() { return isSSE2Present(); }
+    static bool supportsFloatingPointAbs() { return isSSE2Present(); }
 
 private:
-    const bool m_isSSE2Present;
-
     friend class LinkBuffer;
     friend class RepatchBuffer;
 

Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h (99744 => 99745)


--- trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h	2011-11-09 19:57:16 UTC (rev 99744)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h	2011-11-09 20:01:24 UTC (rev 99745)
@@ -461,11 +461,11 @@
         return MacroAssemblerX86Common::branchTest8(cond, BaseIndex(scratchRegister, address.base, TimesOne), mask);
     }
 
-    bool supportsFloatingPoint() const { return true; }
+    static bool supportsFloatingPoint() { return true; }
     // See comment on MacroAssemblerARMv7::supportsFloatingPointTruncate()
-    bool supportsFloatingPointTruncate() const { return true; }
-    bool supportsFloatingPointSqrt() const { return true; }
-    bool supportsDoubleBitops() const { return true; }
+    static bool supportsFloatingPointTruncate() { return true; }
+    static bool supportsFloatingPointSqrt() { return true; }
+    static bool supportsFloatingPointAbs() { return true; }
 
 private:
     friend class LinkBuffer;

Modified: trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp (99744 => 99745)


--- trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp	2011-11-09 19:57:16 UTC (rev 99744)
+++ trunk/Source/_javascript_Core/jit/ThunkGenerators.cpp	2011-11-09 20:01:24 UTC (rev 99745)
@@ -277,7 +277,7 @@
 MacroAssemblerCodeRef absThunkGenerator(JSGlobalData* globalData)
 {
     SpecializedThunkJIT jit(1, globalData);
-    if (!jit.supportsDoubleBitops())
+    if (!jit.supportsFloatingPointAbs())
         return MacroAssemblerCodeRef::createSelfManagedCodeRef(globalData->jitStubs->ctiNativeCall());
     MacroAssembler::Jump nonIntJump;
     jit.loadInt32Argument(0, SpecializedThunkJIT::regT0, nonIntJump);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to