Title: [259552] trunk/Source/_javascript_Core
Revision
259552
Author
[email protected]
Date
2020-04-05 11:11:30 -0700 (Sun, 05 Apr 2020)

Log Message

Change s_entropyBitsShiftForStructurePointer to 48 bits.
https://bugs.webkit.org/show_bug.cgi?id=210022
<rdar://problem/61310696>

Reviewed by Keith Miller.

This is ok because the top 16 bits of the 64-bit address is not used.  We can
fill out the top 16-bits of the encodedStructureBits  with the lowest 16-bits of
the StructureID (which includes the 7-bits of entropy).

* runtime/StructureIDTable.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (259551 => 259552)


--- trunk/Source/_javascript_Core/ChangeLog	2020-04-05 16:49:59 UTC (rev 259551)
+++ trunk/Source/_javascript_Core/ChangeLog	2020-04-05 18:11:30 UTC (rev 259552)
@@ -1,3 +1,17 @@
+2020-04-05  Mark Lam  <[email protected]>
+
+        Change s_entropyBitsShiftForStructurePointer to 48 bits.
+        https://bugs.webkit.org/show_bug.cgi?id=210022
+        <rdar://problem/61310696>
+
+        Reviewed by Keith Miller.
+
+        This is ok because the top 16 bits of the 64-bit address is not used.  We can
+        fill out the top 16-bits of the encodedStructureBits  with the lowest 16-bits of
+        the StructureID (which includes the 7-bits of entropy).
+
+        * runtime/StructureIDTable.h:
+
 2020-04-05  Yusuke Suzuki  <[email protected]>
 
         [JSC] JSArrayIterator's size is wrong

Modified: trunk/Source/_javascript_Core/runtime/StructureIDTable.h (259551 => 259552)


--- trunk/Source/_javascript_Core/runtime/StructureIDTable.h	2020-04-05 16:49:59 UTC (rev 259551)
+++ trunk/Source/_javascript_Core/runtime/StructureIDTable.h	2020-04-05 18:11:30 UTC (rev 259552)
@@ -145,9 +145,9 @@
     // 2. For each StructureID, the StructureIDTable stores encodedStructureBits
     //    which are encoded from the structure pointer as such:
     //
-    //    ----------------------------------------------------------------
-    //    | 7 entropy bits |                   57 structure pointer bits |
-    //    ----------------------------------------------------------------
+    //    -----------------------------------------------------------------
+    //    | 9 low index bits | 7 entropy bits | 48 structure pointer bits |
+    //    -----------------------------------------------------------------
     //
     //    The entropy bits here are the same 7 bits used in the encoding of the
     //    StructureID for this structure entry in the StructureIDTable.
@@ -154,7 +154,7 @@
 
     static constexpr uint32_t s_numberOfNukeBits = 1;
     static constexpr uint32_t s_numberOfEntropyBits = 7;
-    static constexpr uint32_t s_entropyBitsShiftForStructurePointer = (sizeof(intptr_t) * 8) - s_numberOfEntropyBits;
+    static constexpr uint32_t s_entropyBitsShiftForStructurePointer = (sizeof(EncodedStructureBits) * 8) - 16;
 
     static constexpr uint32_t s_maximumNumberOfStructures = 1 << (32 - s_numberOfEntropyBits - s_numberOfNukeBits);
 };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to