Title: [230317] trunk/Source/bmalloc
- Revision
- 230317
- Author
- sbar...@apple.com
- Date
- 2018-04-05 18:29:26 -0700 (Thu, 05 Apr 2018)
Log Message
IsoHeapImpl not IsoHeapImplBase should add itself to AllIsoHeaps
https://bugs.webkit.org/show_bug.cgi?id=184174
Reviewed by Filip Pizlo.
Otherwise, another thread may see a non-fully formed IsoHeapImpl.
* bmalloc/IsoHeapImpl.cpp:
(bmalloc::IsoHeapImplBase::IsoHeapImplBase):
(bmalloc::IsoHeapImplBase::addToAllIsoHeaps):
* bmalloc/IsoHeapImpl.h:
* bmalloc/IsoHeapImplInlines.h:
(bmalloc::IsoHeapImpl<Config>::IsoHeapImpl):
Modified Paths
Diff
Modified: trunk/Source/bmalloc/ChangeLog (230316 => 230317)
--- trunk/Source/bmalloc/ChangeLog 2018-04-06 00:45:23 UTC (rev 230316)
+++ trunk/Source/bmalloc/ChangeLog 2018-04-06 01:29:26 UTC (rev 230317)
@@ -1,3 +1,19 @@
+2018-04-05 Saam Barati <sbar...@apple.com>
+
+ IsoHeapImpl not IsoHeapImplBase should add itself to AllIsoHeaps
+ https://bugs.webkit.org/show_bug.cgi?id=184174
+
+ Reviewed by Filip Pizlo.
+
+ Otherwise, another thread may see a non-fully formed IsoHeapImpl.
+
+ * bmalloc/IsoHeapImpl.cpp:
+ (bmalloc::IsoHeapImplBase::IsoHeapImplBase):
+ (bmalloc::IsoHeapImplBase::addToAllIsoHeaps):
+ * bmalloc/IsoHeapImpl.h:
+ * bmalloc/IsoHeapImplInlines.h:
+ (bmalloc::IsoHeapImpl<Config>::IsoHeapImpl):
+
2018-04-05 Yusuke Suzuki <utatane....@gmail.com>
bmalloc StaticMutex's constructor should be constexpr
Modified: trunk/Source/bmalloc/bmalloc/IsoHeapImpl.cpp (230316 => 230317)
--- trunk/Source/bmalloc/bmalloc/IsoHeapImpl.cpp 2018-04-06 00:45:23 UTC (rev 230316)
+++ trunk/Source/bmalloc/bmalloc/IsoHeapImpl.cpp 2018-04-06 01:29:26 UTC (rev 230317)
@@ -33,7 +33,6 @@
IsoHeapImplBase::IsoHeapImplBase()
{
- PerProcess<AllIsoHeaps>::get()->add(this);
}
IsoHeapImplBase::~IsoHeapImplBase()
@@ -40,6 +39,11 @@
{
}
+void IsoHeapImplBase::addToAllIsoHeaps()
+{
+ PerProcess<AllIsoHeaps>::get()->add(this);
+}
+
void IsoHeapImplBase::scavengeNow()
{
Vector<DeferredDecommit> deferredDecommits;
Modified: trunk/Source/bmalloc/bmalloc/IsoHeapImpl.h (230316 => 230317)
--- trunk/Source/bmalloc/bmalloc/IsoHeapImpl.h 2018-04-06 00:45:23 UTC (rev 230316)
+++ trunk/Source/bmalloc/bmalloc/IsoHeapImpl.h 2018-04-06 01:29:26 UTC (rev 230317)
@@ -48,6 +48,7 @@
protected:
IsoHeapImplBase();
+ void addToAllIsoHeaps();
private:
friend class AllIsoHeaps;
Modified: trunk/Source/bmalloc/bmalloc/IsoHeapImplInlines.h (230316 => 230317)
--- trunk/Source/bmalloc/bmalloc/IsoHeapImplInlines.h 2018-04-06 00:45:23 UTC (rev 230316)
+++ trunk/Source/bmalloc/bmalloc/IsoHeapImplInlines.h 2018-04-06 01:29:26 UTC (rev 230317)
@@ -36,6 +36,7 @@
, m_inlineDirectory(*this)
, m_allocator(*this)
{
+ addToAllIsoHeaps();
}
template<typename Config>
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes