Simplify TempRegisterSet - it no longer needs to be convertible to a POD since it...
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 20 Oct 2013 05:40:56 +0000 (05:40 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 20 Oct 2013 05:40:56 +0000 (05:40 +0000)
https://bugs.webkit.org/show_bug.cgi?id=123079

Reviewed by Geoffrey Garen.

* jit/TempRegisterSet.h:

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

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/jit/TempRegisterSet.h

index 08e578b..ff01d35 100644 (file)
@@ -1,5 +1,14 @@
 2013-10-19  Filip Pizlo  <fpizlo@apple.com>
 
+        Simplify TempRegisterSet - it no longer needs to be convertible to a POD since it's no longer going to be a member of a union
+        https://bugs.webkit.org/show_bug.cgi?id=123079
+
+        Reviewed by Geoffrey Garen.
+
+        * jit/TempRegisterSet.h:
+
+2013-10-19  Filip Pizlo  <fpizlo@apple.com>
+
         Rename RegisterSet to TempRegisterSet
         https://bugs.webkit.org/show_bug.cgi?id=123077
 
index 8dc4c2e..8294c82 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 
 #include "FPRInfo.h"
 #include "GPRInfo.h"
-#include <wtf/Bitmap.h>
 
 namespace JSC {
 
-static const unsigned totalNumberOfRegisters =
-    GPRInfo::numberOfRegisters + FPRInfo::numberOfRegisters;
-
-static const unsigned numberOfBytesInTempRegisterSet =
-    (totalNumberOfRegisters + 7) >> 3;
-
-typedef uint8_t TempRegisterSetPOD[numberOfBytesInTempRegisterSet];
-
 class TempRegisterSet {
 public:
     TempRegisterSet()
@@ -52,20 +43,6 @@ public:
             m_set[i] = 0;
     }
     
-    TempRegisterSet(const TempRegisterSetPOD& other)
-    {
-        for (unsigned i = numberOfBytesInTempRegisterSet; i--;)
-            m_set[i] = other[i];
-    }
-    
-    const TempRegisterSetPOD& asPOD() const { return m_set; }
-    
-    void copyInfo(TempRegisterSetPOD& other) const
-    {
-        for (unsigned i = numberOfBytesInTempRegisterSet; i--;)
-            other[i] = m_set[i];
-    }
-    
     void set(GPRReg reg)
     {
         setBit(GPRInfo::toIndex(reg));
@@ -201,7 +178,13 @@ private:
         return !!(m_set[i >> 3] & (1 << (i & 7)));
     }
     
-    TempRegisterSetPOD m_set;
+    static const unsigned totalNumberOfRegisters =
+        GPRInfo::numberOfRegisters + FPRInfo::numberOfRegisters;
+    
+    static const unsigned numberOfBytesInTempRegisterSet =
+        (totalNumberOfRegisters + 7) >> 3;
+
+    uint8_t m_set[numberOfBytesInTempRegisterSet];
 };
 
 } // namespace JSC
@@ -210,11 +193,10 @@ private:
 
 namespace JSC {
 
-// Define TempRegisterSetPOD to something that is a POD, but is otherwise useless,
-// to make it easier to refer to this type in code that may be compiled when
-// the DFG is disabled.
+// Define TempRegisterSet to something, to make it easier to refer to this type in code that
+// make be compiled when the JIT is disabled.
 
-struct TempRegisterSetPOD { };
+struct TempRegisterSet { };
 
 } // namespace JSC