Bug 201154 - [bmalloc] Disable IsoHeap completely if DebugHeap is enabled
Summary: [bmalloc] Disable IsoHeap completely if DebugHeap is enabled
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: bmalloc (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-08-26 15:02 PDT by Yusuke Suzuki
Modified: 2019-08-26 15:33 PDT (History)
4 users (show)

See Also:


Attachments
Patch (2.69 KB, patch)
2019-08-26 15:25 PDT, Yusuke Suzuki
simon.fraser: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yusuke Suzuki 2019-08-26 15:02:01 PDT
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.
Comment 1 Yusuke Suzuki 2019-08-26 15:08:12 PDT
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.
Comment 2 Yusuke Suzuki 2019-08-26 15:25:20 PDT
Created attachment 377276 [details]
Patch
Comment 3 Yusuke Suzuki 2019-08-26 15:32:07 PDT
Committed r249121: <https://trac.webkit.org/changeset/249121>
Comment 4 Mark Lam 2019-08-26 15:32:14 PDT
Comment on attachment 377276 [details]
Patch

r=me too.
Comment 5 Radar WebKit Bug Importer 2019-08-26 15:33:24 PDT
<rdar://problem/54724969>