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