Index: Source/core/dom/NodeRareData.cpp |
diff --git a/Source/core/dom/NodeRareData.cpp b/Source/core/dom/NodeRareData.cpp |
index 82717cb2afe01dc784acaa3294f96439ec904065..b5e31865c12efa35d53dc17d9c91622271283f02 100644 |
--- a/Source/core/dom/NodeRareData.cpp |
+++ b/Source/core/dom/NodeRareData.cpp |
@@ -30,12 +30,13 @@ |
#include "config.h" |
#include "core/dom/NodeRareData.h" |
+#include "core/dom/Element.h" |
namespace WebCore { |
struct SameSizeAsNodeRareData { |
- unsigned m_bitfields : 20; |
void* m_pointer[3]; |
+ unsigned m_bitfields; |
}; |
COMPILE_ASSERT(sizeof(NodeRareData) == sizeof(SameSizeAsNodeRareData), NodeRareDataShouldStaySmall); |
@@ -54,5 +55,10 @@ void NodeListsNodeData::invalidateCaches(const QualifiedName* attrName) |
it->value->invalidateCache(); |
} |
+// Ensure the 10 bits reserved for the m_connectedFrameCount cannot overflow |
+COMPILE_ASSERT(Page::maxNumberOfFrames < (1 << NodeRareData::ConnectedFrameCountBits), Frame_limit_should_fit_in_rare_data_count); |
+ |
+// Ensure all element flags fit in NodeRareData::m_elementFlags. |
+COMPILE_ASSERT(static_cast<unsigned>(NumberOfElementFlags) == static_cast<unsigned>(NodeRareData::ElementFlagsBits), Element_flags_should_fit_in_node_rare_data); |
} // namespace WebCore |