Changeset 249121 in webkit
- Timestamp:
- Aug 26, 2019, 3:31:59 PM (7 years ago)
- Location:
- trunk/Source/bmalloc
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
bmalloc/IsoTLS.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/bmalloc/ChangeLog
r249065 r249121 1 2019-08-26 Yusuke Suzuki <ysuzuki@apple.com> 2 3 [bmalloc] Disable IsoHeap completely if DebugHeap is enabled 4 https://bugs.webkit.org/show_bug.cgi?id=201154 5 6 Reviewed by Simon Fraser. 7 8 Previously we had the guarantee that IsoHeap is disabled when DebugHeap is enabled. 9 But this is guaranteed in a bit tricky way: when DebugHeap is enabled, Gigacage is disabled. 10 And IsoHeap is disabled when Gigacage is disabled. However r249065 enabled IsoHeap even if 11 Gigacage is disabled. This accidentally enabled IsoHeap even if DebugHeap is enabled. 12 13 Currently, this is incorrect. When DebugHeap is enabled, we do not start bmalloc::Scavenger. 14 So IsoHeap does not work. In addition, when DebugHeap is enabled, we want to investigate the Malloc data. 15 However IsoHeap wipes these information for IsoHeaped objects. Moreover enabling IsoHeap is not free 16 in terms of memory usage: bmalloc::Scavenger starts working. 17 18 So we should not enable IsoHeap in such an accidental way for DebugHeap environment. If we consider enabling 19 IsoHeap even if `Malloc=1` is specified, we should first examine how memory is used by this change because 20 the users of `Malloc=1` requires explicitly tight memory usage. 21 22 In this patch, we remove the accidental enabling of IsoHeap for DebugHeap by checking DebugHeap status in IsoTLS. 23 24 * bmalloc/IsoTLS.cpp: 25 (bmalloc::IsoTLS::determineMallocFallbackState): 26 1 27 2019-08-22 Mark Lam <mark.lam@apple.com> 2 28 -
trunk/Source/bmalloc/bmalloc/IsoTLS.cpp
r249065 r249121 184 184 return; 185 185 186 if (Environment::get()->isDebugHeapEnabled()) { 187 s_mallocFallbackState = MallocFallbackState::FallBackToMalloc; 188 return; 189 } 190 186 191 const char* env = getenv("bmalloc_IsoHeap"); 187 192 if (env && (!strcasecmp(env, "false") || !strcasecmp(env, "no") || !strcmp(env, "0")))
Note:
See TracChangeset
for help on using the changeset viewer.