Title: [209162] trunk/Source/_javascript_Core
Revision
209162
Author
mark....@apple.com
Date
2016-11-30 16:10:44 -0800 (Wed, 30 Nov 2016)

Log Message

TypeInfo::OutOfLineTypeFlags should be 16 bits in size.
https://bugs.webkit.org/show_bug.cgi?id=165224

Reviewed by Saam Barati.

There's no reason for OutOfLineTypeFlags to be constraint to 8 bits since the
space is available to us.  Making OutOfLineTypeFlags 16 bits brings TypeInfo up
to 32 bits in size from the current 24 bits.

* runtime/JSTypeInfo.h:
(JSC::TypeInfo::TypeInfo):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (209161 => 209162)


--- trunk/Source/_javascript_Core/ChangeLog	2016-12-01 00:10:28 UTC (rev 209161)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-12-01 00:10:44 UTC (rev 209162)
@@ -1,3 +1,17 @@
+2016-11-30  Mark Lam  <mark....@apple.com>
+
+        TypeInfo::OutOfLineTypeFlags should be 16 bits in size.
+        https://bugs.webkit.org/show_bug.cgi?id=165224
+
+        Reviewed by Saam Barati.
+
+        There's no reason for OutOfLineTypeFlags to be constraint to 8 bits since the
+        space is available to us.  Making OutOfLineTypeFlags 16 bits brings TypeInfo up
+        to 32 bits in size from the current 24 bits.
+
+        * runtime/JSTypeInfo.h:
+        (JSC::TypeInfo::TypeInfo):
+
 2016-11-30  Joseph Pecoraro  <pecor...@apple.com>
 
         REGRESSION: inspector/sampling-profiler/* LayoutTests are flaky timeouts

Modified: trunk/Source/_javascript_Core/runtime/JSTypeInfo.h (209161 => 209162)


--- trunk/Source/_javascript_Core/runtime/JSTypeInfo.h	2016-12-01 00:10:28 UTC (rev 209161)
+++ trunk/Source/_javascript_Core/runtime/JSTypeInfo.h	2016-12-01 00:10:44 UTC (rev 209162)
@@ -54,11 +54,12 @@
 class TypeInfo {
 public:
     typedef uint8_t InlineTypeFlags;
-    typedef uint8_t OutOfLineTypeFlags;
+    typedef uint16_t OutOfLineTypeFlags;
 
     TypeInfo(JSType type, unsigned flags = 0)
         : TypeInfo(type, flags & 0xff, flags >> 8)
     {
+        ASSERT(!(flags >> 24));
     }
 
     TypeInfo(JSType type, InlineTypeFlags inlineTypeFlags, OutOfLineTypeFlags outOfLineTypeFlags)
@@ -110,9 +111,9 @@
     bool isSetOnFlags1(unsigned flag) const { ASSERT(flag <= (1 << 7)); return m_flags & flag; }
     bool isSetOnFlags2(unsigned flag) const { ASSERT(flag >= (1 << 8)); return m_flags2 & (flag >> 8); }
 
-    unsigned char m_type;
-    unsigned char m_flags;
-    unsigned char m_flags2;
+    uint8_t m_type;
+    uint8_t m_flags;
+    uint16_t m_flags2;
 };
 
 } // namespace JSC
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to