https://bugs.webkit.org/show_bug.cgi?id=131895
Reviewed by Andreas Kling.
* bmalloc/Chunk.h:
* bmalloc/LargeChunk.h: Align to vmPageSize just like Chunk does.
Technically, the previous alignment was harmless, but I would prefer,
dear reader, not to have to explain the interlocking set of
circumstances that made it so.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167554
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2014-04-19 Geoffrey Garen <ggaren@apple.com>
+
+ bmalloc: Improved alignment in LargeChunk
+ https://bugs.webkit.org/show_bug.cgi?id=131895
+
+ Reviewed by Andreas Kling.
+
+ * bmalloc/Chunk.h:
+ * bmalloc/LargeChunk.h: Align to vmPageSize just like Chunk does.
+ Technically, the previous alignment was harmless, but I would prefer,
+ dear reader, not to have to explain the interlocking set of
+ circumstances that made it so.
+
2014-04-19 Geoffrey Garen <ggaren@apple.com>
Rolled out r167502 because it caused a crash on the facebook benchmark.
Page m_pages[pageCount];
// Align to vmPageSize to avoid sharing physical pages with metadata.
- // Otherwise, we'll confuse the scavenger into scavenging metadata.
- alignas(vmPageSize) char m_memory[];
+ // Otherwise, we'll confuse the scavenger into trying to scavenge metadata.
+ alignas(vmPageSize) char m_memory[];
};
template<class Traits>
// We use the X's for boundary tags and the O's for edge sentinels.
BoundaryTag m_boundaryTags[boundaryTagCount];
- alignas(largeAlignment) char m_memory[];
+
+ // Align to vmPageSize to avoid sharing physical pages with metadata.
+ // Otherwise, we'll confuse the scavenger into trying to scavenge metadata.
+ alignas(vmPageSize) char m_memory[];
};
inline LargeChunk* LargeChunk::create()