Title: [189357] trunk/Source/_javascript_Core
Revision
189357
Author
[email protected]
Date
2015-09-04 11:00:24 -0700 (Fri, 04 Sep 2015)

Log Message

Make a bunch of MacroAssembler operations constexpr
https://bugs.webkit.org/show_bug.cgi?id=148334

Reviewed by Saam Barati.

This is in preparation of https://bugs.webkit.org/show_bug.cgi?id=148335 .

* assembler/ARM64Assembler.h:
(JSC::ARM64Registers::isSp):
(JSC::ARM64Registers::isZr):
(JSC::ARM64Assembler::firstRegister):
(JSC::ARM64Assembler::lastRegister):
(JSC::ARM64Assembler::firstFPRegister):
(JSC::ARM64Assembler::lastFPRegister):
(JSC::ARM64Assembler::isSp):
(JSC::ARM64Assembler::isZr):
* assembler/ARMAssembler.h:
(JSC::ARMAssembler::firstRegister):
(JSC::ARMAssembler::lastRegister):
(JSC::ARMAssembler::firstFPRegister):
(JSC::ARMAssembler::lastFPRegister):
* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::firstRegister):
(JSC::AbstractMacroAssembler::lastRegister):
(JSC::AbstractMacroAssembler::firstFPRegister):
(JSC::AbstractMacroAssembler::lastFPRegister):
* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::firstRegister):
(JSC::MIPSAssembler::lastRegister):
(JSC::MIPSAssembler::firstFPRegister):
(JSC::MIPSAssembler::lastFPRegister):
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::nextRegister):
(JSC::MacroAssembler::nextFPRegister):
(JSC::MacroAssembler::numberOfRegisters):
(JSC::MacroAssembler::registerIndex):
(JSC::MacroAssembler::numberOfFPRegisters):
(JSC::MacroAssembler::fpRegisterIndex):
(JSC::MacroAssembler::totalNumberOfRegisters):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::firstRegister):
(JSC::SH4Assembler::lastRegister):
(JSC::SH4Assembler::firstFPRegister):
(JSC::SH4Assembler::lastFPRegister):
* assembler/X86Assembler.h:
(JSC::X86Assembler::firstRegister):
(JSC::X86Assembler::lastRegister):
(JSC::X86Assembler::firstFPRegister):
(JSC::X86Assembler::lastFPRegister):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (189356 => 189357)


--- trunk/Source/_javascript_Core/ChangeLog	2015-09-04 17:43:49 UTC (rev 189356)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-09-04 18:00:24 UTC (rev 189357)
@@ -1,3 +1,55 @@
+2015-09-04  Basile Clement  <[email protected]>
+
+        Make a bunch of MacroAssembler operations constexpr
+        https://bugs.webkit.org/show_bug.cgi?id=148334
+
+        Reviewed by Saam Barati.
+
+        This is in preparation of https://bugs.webkit.org/show_bug.cgi?id=148335 .
+
+        * assembler/ARM64Assembler.h:
+        (JSC::ARM64Registers::isSp):
+        (JSC::ARM64Registers::isZr):
+        (JSC::ARM64Assembler::firstRegister):
+        (JSC::ARM64Assembler::lastRegister):
+        (JSC::ARM64Assembler::firstFPRegister):
+        (JSC::ARM64Assembler::lastFPRegister):
+        (JSC::ARM64Assembler::isSp):
+        (JSC::ARM64Assembler::isZr):
+        * assembler/ARMAssembler.h:
+        (JSC::ARMAssembler::firstRegister):
+        (JSC::ARMAssembler::lastRegister):
+        (JSC::ARMAssembler::firstFPRegister):
+        (JSC::ARMAssembler::lastFPRegister):
+        * assembler/AbstractMacroAssembler.h:
+        (JSC::AbstractMacroAssembler::firstRegister):
+        (JSC::AbstractMacroAssembler::lastRegister):
+        (JSC::AbstractMacroAssembler::firstFPRegister):
+        (JSC::AbstractMacroAssembler::lastFPRegister):
+        * assembler/MIPSAssembler.h:
+        (JSC::MIPSAssembler::firstRegister):
+        (JSC::MIPSAssembler::lastRegister):
+        (JSC::MIPSAssembler::firstFPRegister):
+        (JSC::MIPSAssembler::lastFPRegister):
+        * assembler/MacroAssembler.h:
+        (JSC::MacroAssembler::nextRegister):
+        (JSC::MacroAssembler::nextFPRegister):
+        (JSC::MacroAssembler::numberOfRegisters):
+        (JSC::MacroAssembler::registerIndex):
+        (JSC::MacroAssembler::numberOfFPRegisters):
+        (JSC::MacroAssembler::fpRegisterIndex):
+        (JSC::MacroAssembler::totalNumberOfRegisters):
+        * assembler/SH4Assembler.h:
+        (JSC::SH4Assembler::firstRegister):
+        (JSC::SH4Assembler::lastRegister):
+        (JSC::SH4Assembler::firstFPRegister):
+        (JSC::SH4Assembler::lastFPRegister):
+        * assembler/X86Assembler.h:
+        (JSC::X86Assembler::firstRegister):
+        (JSC::X86Assembler::lastRegister):
+        (JSC::X86Assembler::firstFPRegister):
+        (JSC::X86Assembler::lastFPRegister):
+
 2015-08-24  Basile Clement  <[email protected]>
 
         Add a bunch of operators

Modified: trunk/Source/_javascript_Core/assembler/ARM64Assembler.h (189356 => 189357)


--- trunk/Source/_javascript_Core/assembler/ARM64Assembler.h	2015-09-04 17:43:49 UTC (rev 189356)
+++ trunk/Source/_javascript_Core/assembler/ARM64Assembler.h	2015-09-04 18:00:24 UTC (rev 189357)
@@ -469,8 +469,8 @@
         q31,
     } FPRegisterID;
 
-    static bool isSp(RegisterID reg) { return reg == sp; }
-    static bool isZr(RegisterID reg) { return reg == zr; }
+    static constexpr bool isSp(RegisterID reg) { return reg == sp; }
+    static constexpr bool isZr(RegisterID reg) { return reg == zr; }
 }
 
 class ARM64Assembler {
@@ -478,15 +478,15 @@
     typedef ARM64Registers::RegisterID RegisterID;
     typedef ARM64Registers::FPRegisterID FPRegisterID;
     
-    static RegisterID firstRegister() { return ARM64Registers::x0; }
-    static RegisterID lastRegister() { return ARM64Registers::sp; }
+    static constexpr RegisterID firstRegister() { return ARM64Registers::x0; }
+    static constexpr RegisterID lastRegister() { return ARM64Registers::sp; }
     
-    static FPRegisterID firstFPRegister() { return ARM64Registers::q0; }
-    static FPRegisterID lastFPRegister() { return ARM64Registers::q31; }
+    static constexpr FPRegisterID firstFPRegister() { return ARM64Registers::q0; }
+    static constexpr FPRegisterID lastFPRegister() { return ARM64Registers::q31; }
 
 private:
-    static bool isSp(RegisterID reg) { return ARM64Registers::isSp(reg); }
-    static bool isZr(RegisterID reg) { return ARM64Registers::isZr(reg); }
+    static constexpr bool isSp(RegisterID reg) { return ARM64Registers::isSp(reg); }
+    static constexpr bool isZr(RegisterID reg) { return ARM64Registers::isZr(reg); }
 
 public:
     ARM64Assembler()

Modified: trunk/Source/_javascript_Core/assembler/ARMAssembler.h (189356 => 189357)


--- trunk/Source/_javascript_Core/assembler/ARMAssembler.h	2015-09-04 17:43:49 UTC (rev 189356)
+++ trunk/Source/_javascript_Core/assembler/ARMAssembler.h	2015-09-04 18:00:24 UTC (rev 189357)
@@ -138,11 +138,11 @@
 
         ARMBuffer& buffer() { return m_buffer; }
 
-        static RegisterID firstRegister() { return ARMRegisters::r0; }
-        static RegisterID lastRegister() { return ARMRegisters::r15; }
+        static constexpr RegisterID firstRegister() { return ARMRegisters::r0; }
+        static constexpr RegisterID lastRegister() { return ARMRegisters::r15; }
 
-        static FPRegisterID firstFPRegister() { return ARMRegisters::d0; }
-        static FPRegisterID lastFPRegister() { return ARMRegisters::d31; }
+        static constexpr FPRegisterID firstFPRegister() { return ARMRegisters::d0; }
+        static constexpr FPRegisterID lastFPRegister() { return ARMRegisters::d31; }
 
         // ARM conditional constants
         typedef enum {

Modified: trunk/Source/_javascript_Core/assembler/AbstractMacroAssembler.h (189356 => 189357)


--- trunk/Source/_javascript_Core/assembler/AbstractMacroAssembler.h	2015-09-04 17:43:49 UTC (rev 189356)
+++ trunk/Source/_javascript_Core/assembler/AbstractMacroAssembler.h	2015-09-04 18:00:24 UTC (rev 189357)
@@ -103,11 +103,11 @@
     typedef typename AssemblerType::RegisterID RegisterID;
     typedef typename AssemblerType::FPRegisterID FPRegisterID;
     
-    static RegisterID firstRegister() { return AssemblerType::firstRegister(); }
-    static RegisterID lastRegister() { return AssemblerType::lastRegister(); }
+    static constexpr RegisterID firstRegister() { return AssemblerType::firstRegister(); }
+    static constexpr RegisterID lastRegister() { return AssemblerType::lastRegister(); }
 
-    static FPRegisterID firstFPRegister() { return AssemblerType::firstFPRegister(); }
-    static FPRegisterID lastFPRegister() { return AssemblerType::lastFPRegister(); }
+    static constexpr FPRegisterID firstFPRegister() { return AssemblerType::firstFPRegister(); }
+    static constexpr FPRegisterID lastFPRegister() { return AssemblerType::lastFPRegister(); }
 
     // Section 1: MacroAssembler operand types
     //

Modified: trunk/Source/_javascript_Core/assembler/MIPSAssembler.h (189356 => 189357)


--- trunk/Source/_javascript_Core/assembler/MIPSAssembler.h	2015-09-04 17:43:49 UTC (rev 189356)
+++ trunk/Source/_javascript_Core/assembler/MIPSAssembler.h	2015-09-04 18:00:24 UTC (rev 189357)
@@ -151,11 +151,11 @@
     typedef MIPSRegisters::FPRegisterID FPRegisterID;
     typedef SegmentedVector<AssemblerLabel, 64> Jumps;
 
-    static RegisterID firstRegister() { return MIPSRegisters::r0; }
-    static RegisterID lastRegister() { return MIPSRegisters::r31; }
+    static constexpr RegisterID firstRegister() { return MIPSRegisters::r0; }
+    static constexpr RegisterID lastRegister() { return MIPSRegisters::r31; }
 
-    static FPRegisterID firstFPRegister() { return MIPSRegisters::f0; }
-    static FPRegisterID lastFPRegister() { return MIPSRegisters::f31; }
+    static constexpr FPRegisterID firstFPRegister() { return MIPSRegisters::f0; }
+    static constexpr FPRegisterID lastFPRegister() { return MIPSRegisters::f31; }
 
     MIPSAssembler()
         : m_indexOfLastWatchpoint(INT_MIN)

Modified: trunk/Source/_javascript_Core/assembler/MacroAssembler.h (189356 => 189357)


--- trunk/Source/_javascript_Core/assembler/MacroAssembler.h	2015-09-04 17:43:49 UTC (rev 189356)
+++ trunk/Source/_javascript_Core/assembler/MacroAssembler.h	2015-09-04 18:00:24 UTC (rev 189357)
@@ -69,42 +69,42 @@
 class MacroAssembler : public MacroAssemblerBase {
 public:
 
-    static RegisterID nextRegister(RegisterID reg)
+    static constexpr RegisterID nextRegister(RegisterID reg)
     {
         return static_cast<RegisterID>(reg + 1);
     }
     
-    static FPRegisterID nextFPRegister(FPRegisterID reg)
+    static constexpr FPRegisterID nextFPRegister(FPRegisterID reg)
     {
         return static_cast<FPRegisterID>(reg + 1);
     }
     
-    static unsigned numberOfRegisters()
+    static constexpr unsigned numberOfRegisters()
     {
         return lastRegister() - firstRegister() + 1;
     }
     
-    static unsigned registerIndex(RegisterID reg)
+    static constexpr unsigned registerIndex(RegisterID reg)
     {
         return reg - firstRegister();
     }
     
-    static unsigned numberOfFPRegisters()
+    static constexpr unsigned numberOfFPRegisters()
     {
         return lastFPRegister() - firstFPRegister() + 1;
     }
     
-    static unsigned fpRegisterIndex(FPRegisterID reg)
+    static constexpr unsigned fpRegisterIndex(FPRegisterID reg)
     {
         return reg - firstFPRegister();
     }
     
-    static unsigned registerIndex(FPRegisterID reg)
+    static constexpr unsigned registerIndex(FPRegisterID reg)
     {
         return fpRegisterIndex(reg) + numberOfRegisters();
     }
     
-    static unsigned totalNumberOfRegisters()
+    static constexpr unsigned totalNumberOfRegisters()
     {
         return numberOfRegisters() + numberOfFPRegisters();
     }

Modified: trunk/Source/_javascript_Core/assembler/SH4Assembler.h (189356 => 189357)


--- trunk/Source/_javascript_Core/assembler/SH4Assembler.h	2015-09-04 17:43:49 UTC (rev 189356)
+++ trunk/Source/_javascript_Core/assembler/SH4Assembler.h	2015-09-04 18:00:24 UTC (rev 189357)
@@ -327,11 +327,11 @@
     static const RegisterID scratchReg2 = SH4Registers::r11;
     static const uint32_t maxInstructionSize = 16;
 
-    static RegisterID firstRegister() { return SH4Registers::r0; }
-    static RegisterID lastRegister() { return SH4Registers::r15; }
+    static constexpr RegisterID firstRegister() { return SH4Registers::r0; }
+    static constexpr RegisterID lastRegister() { return SH4Registers::r15; }
 
-    static FPRegisterID firstFPRegister() { return SH4Registers::dr0; }
-    static FPRegisterID lastFPRegister() { return SH4Registers::dr14; }
+    static constexpr FPRegisterID firstFPRegister() { return SH4Registers::dr0; }
+    static constexpr FPRegisterID lastFPRegister() { return SH4Registers::dr14; }
 
     enum {
         padForAlign8 = 0x00,

Modified: trunk/Source/_javascript_Core/assembler/X86Assembler.h (189356 => 189357)


--- trunk/Source/_javascript_Core/assembler/X86Assembler.h	2015-09-04 17:43:49 UTC (rev 189356)
+++ trunk/Source/_javascript_Core/assembler/X86Assembler.h	2015-09-04 18:00:24 UTC (rev 189357)
@@ -123,8 +123,8 @@
 public:
     typedef X86Registers::RegisterID RegisterID;
     
-    static RegisterID firstRegister() { return X86Registers::eax; }
-    static RegisterID lastRegister()
+    static constexpr RegisterID firstRegister() { return X86Registers::eax; }
+    static constexpr RegisterID lastRegister()
     {
 #if CPU(X86_64)
         return X86Registers::r15;
@@ -136,8 +136,8 @@
     typedef X86Registers::XMMRegisterID XMMRegisterID;
     typedef XMMRegisterID FPRegisterID;
     
-    static FPRegisterID firstFPRegister() { return X86Registers::xmm0; }
-    static FPRegisterID lastFPRegister()
+    static constexpr FPRegisterID firstFPRegister() { return X86Registers::xmm0; }
+    static constexpr FPRegisterID lastFPRegister()
     {
 #if CPU(X86_64)
         return X86Registers::xmm15;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to