When DebugHeap is enabled, we would like to get information about Malloc. In this case, enabling IsoHeap makes Malloc stack logging information broken for IsoHeaped one. This is not what we want. Given that, 1. IsoHeap is currently only used for WebCore and upper 2. Gigacage is also disabled when DebugHeap is enabled 3. The existing code is assuming that IsoHeap should be disabled when DebugHeap is enabled we should disable IsoHeap if DebugHeap is enabled.
We had an assertion that IsoHeap is disabled when Malloc=1 is specified. And it worked because IsoHeap is disabled when Gigacage is disabled, and Gigacage is disabled when Malloc=1 is specified. But from https://bugs.webkit.org/show_bug.cgi?id=201061, IsoHeap can become enabled while Gigacage is disabled. So now, the above invariant is now broken.
Created attachment 377276 [details] Patch
Committed r249121: <https://trac.webkit.org/changeset/249121>
Comment on attachment 377276 [details] Patch r=me too.
<rdar://problem/54724969>