RESOLVED FIXED 186422
Experiment: create lots of different malloc zones for easier accounting of memory use
https://bugs.webkit.org/show_bug.cgi?id=186422
Summary Experiment: create lots of different malloc zones for easier accounting of me...
Simon Fraser (smfr)
Reported 2018-06-07 21:19:11 PDT
In order to get data on where malloc memory is being used, it would be useful to break down WebKit's malloc zone into smaller zones. One possibility is to make a different malloc zone for each ISOHeap.
Attachments
Totally hacky patch (4.07 KB, patch)
2018-06-07 21:20 PDT, Simon Fraser (smfr)
no flags
Patch, not for landing (233.01 KB, patch)
2018-06-17 08:49 PDT, Simon Fraser (smfr)
no flags
Archive of layout-test-results from ews113 for mac-sierra (941.76 KB, application/zip)
2018-06-17 10:10 PDT, EWS Watchlist
no flags
Rebased Patch, not for landing (220.77 KB, patch)
2018-10-15 16:41 PDT, Michael Saboff
no flags
Patch (246.40 KB, patch)
2019-05-15 00:08 PDT, Yusuke Suzuki
ews-watchlist: commit-queue-
Archive of layout-test-results from ews100 for mac-highsierra (788.27 KB, application/zip)
2019-05-15 01:18 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews105 for mac-highsierra-wk2 (872.20 KB, application/zip)
2019-05-15 01:25 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews117 for mac-highsierra (1.05 MB, application/zip)
2019-05-15 01:37 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews122 for ios-simulator-wk2 (6.01 MB, application/zip)
2019-05-15 01:55 PDT, EWS Watchlist
no flags
Patch (436.13 KB, patch)
2019-05-16 16:37 PDT, Yusuke Suzuki
no flags
Patch (299.59 KB, patch)
2019-05-16 16:43 PDT, Yusuke Suzuki
no flags
Patch (295.50 KB, patch)
2019-05-29 17:21 PDT, Yusuke Suzuki
no flags
Patch (285.20 KB, patch)
2019-05-29 22:24 PDT, Yusuke Suzuki
no flags
Patch (288.97 KB, patch)
2019-05-30 01:20 PDT, Yusuke Suzuki
no flags
Patch (288.99 KB, patch)
2019-05-30 02:31 PDT, Yusuke Suzuki
no flags
Patch (288.74 KB, patch)
2019-05-30 17:07 PDT, Yusuke Suzuki
no flags
Patch (287.48 KB, patch)
2019-06-03 18:15 PDT, Yusuke Suzuki
no flags
Patch (289.73 KB, patch)
2019-06-03 19:08 PDT, Yusuke Suzuki
no flags
Patch (288.23 KB, patch)
2019-12-29 01:38 PST, Yusuke Suzuki
no flags
Patch (288.23 KB, patch)
2019-12-29 01:53 PST, Yusuke Suzuki
no flags
Patch (289.87 KB, patch)
2019-12-29 02:03 PST, Yusuke Suzuki
no flags
Patch (289.94 KB, patch)
2019-12-29 02:16 PST, Yusuke Suzuki
no flags
Patch (289.94 KB, patch)
2019-12-29 14:27 PST, Yusuke Suzuki
no flags
Patch (290.56 KB, patch)
2019-12-29 18:25 PST, Yusuke Suzuki
no flags
Patch (293.47 KB, patch)
2019-12-29 21:05 PST, Yusuke Suzuki
no flags
Patch (293.51 KB, patch)
2019-12-29 21:09 PST, Yusuke Suzuki
no flags
Patch (293.52 KB, patch)
2019-12-29 21:34 PST, Yusuke Suzuki
no flags
Patch (293.75 KB, patch)
2019-12-30 23:29 PST, Yusuke Suzuki
no flags
Patch (295.43 KB, patch)
2020-01-02 14:41 PST, Yusuke Suzuki
saam: review+
Simon Fraser (smfr)
Comment 1 2018-06-07 21:20:00 PDT
Created attachment 342237 [details] Totally hacky patch
Simon Fraser (smfr)
Comment 2 2018-06-17 08:49:22 PDT
Created attachment 342911 [details] Patch, not for landing
Simon Fraser (smfr)
Comment 3 2018-06-17 08:50:18 PDT
I'm open to suggestions about whether any form of this should be landed behind an #ifdef.
EWS Watchlist
Comment 4 2018-06-17 08:51:24 PDT
Attachment 342911 [details] did not pass style-queue: ERROR: Source/WTF/wtf/MallocPtr.h:62: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/MallocPtr.h:184: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Vector.cpp:22: You should add a blank line after implementation file's own header. [build/include_order] [4] ERROR: Source/WTF/wtf/DebugHeap.h:26: Use #pragma once instead of #ifndef for header guard. [build/header_guard] [5] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:55: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:67: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:79: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:139: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/WTF/wtf/FastMalloc.cpp:297: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WTF/wtf/SegmentedVector.h:37: Code inside a namespace should not be indented. [whitespace/indent] [4] ERROR: Source/WTF/wtf/UniqueArray.cpp:22: You should add a blank line after implementation file's own header. [build/include_order] [4] ERROR: Source/WTF/wtf/text/StringBuffer.h:35: Alphabetical sorting problem. [build/include_order] [4] ERROR: Source/WTF/wtf/RefCountedArray.cpp:27: You should add a blank line after implementation file's own header. [build/include_order] [4] ERROR: Source/bmalloc/bmalloc/Heap.cpp:47: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/Heap.cpp:56: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/Heap.cpp:65: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 16 in 184 files If any of these errors are false positives, please file a bug against check-webkit-style.
Simon Fraser (smfr)
Comment 5 2018-06-17 09:35:44 PDT
vmmap output with this patch (MiniBrowser, WK1, nytimes.com): VIRTUAL RESIDENT DIRTY SWAPPED ALLOCATION BYTES DIRTY+SWAP REGION MALLOC ZONE SIZE SIZE SIZE SIZE COUNT ALLOCATED FRAG SIZE % FRAG COUNT =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== DefaultMallocZone_0x10b329000 157.0M 30.5M 30.5M 0K 114105 21.8M 8908K 29% 29 WebKit HashTable_0x10b521000 131.5M 14.8M 14.8M 0K 18031 9583K 5557K 37% 38 WebKit Vector_0x10b565000 126.1M 56.3M 55.4M 0K 114824 18.9M 36.5M 66% 43 libboringssl_0x129461000 109.0M 4204K 4204K 0K 2836 1455K 2749K 66% 13 WebKit StringImpl_0x10b4c0000 100.0M 23.2M 19.9M 0K 74493 6166K 13.9M 70% 27 WebKit AssemblerData_0x127af5000 98.0M 1984K 1984K 0K 1 32 1984K 100% 19 WebKit FastMallocAlignedMemoryAllocator_0x122bf6000 97.0M 58.3M 57.1M 0K 1436 22.4M 34.7M 61% 12 WebKit IsoAlignedMemoryAllocator_0x122bfc000 97.0M 26.6M 25.9M 0K 1411 22.0M 4004K 16% 13 WebKit RefCountedArray_0x1289f9000 95.6M 33.9M 33.8M 0K 17122 8181K 25.9M 77% 28 WebKit SegmentedVector_0x12bcd1000 91.0M 5604K 5604K 0K 8001 2865K 2739K 49% 21 WebKit StringBuffer_0x128f54000 90.0M 1532K 1532K 0K 1 32 1532K 100% 21 WebKit JSC PropertyTable_0x12a6e6000 90.0M 4940K 4940K 0K 2430 1544K 3396K 69% 20 WebKit GCSegmentedArray_0x122bf4000 89.0M 456K 456K 0K 23 88K 368K 81% 11 WebKit BasicBlock_0x12b0b7000 89.0M 8584K 8584K 0K 1 32 8584K 100% 12 WebKit IdentifierArena_0x12b757000 81.0M 92K 92K 0K 1 32 92K 100% 11 WebKit HTMLDocumentParser_0x128f98000 81.0M 136K 136K 0K 1 32 136K 100% 11 WebKit TreeResolver::Scope_0x129020000 81.0M 144K 144K 0K 1 32 144K 100% 11 WebKit ResourceLoader_0x10b5c6000 81.0M 444K 444K 0K 1 32 444K 100% 11 WebKit JSC ParserArena_0x12bcaf000 81.0M 5916K 5916K 0K 1 32 5916K 100% 11 WebKit CachedResource_0x10b5c4000 81.0M 1368K 1368K 0K 621 1240K 128K 10% 8 WebKit ResourceHandleInternal_0x1291ea000 81.0M 360K 360K 0K 1 32 360K 100% 11 WebKit HTMLDocument_0x127dab000 81.0M 260K 260K 0K 22 84K 176K 68% 11 WebKit StyleResolver_0x128eaa000 81.0M 160K 160K 0K 27 39K 121K 76% 11 WebKit SpeculativeJIT_0x12bfd9000 81.0M 92K 92K 0K 1 32 92K 100% 10 WebKit smallPtrSetHeap_0x12bcf7000 74.0M 280K 280K 0K 1 32 280K 100% 18 WebKit XMLHttpRequest_0x13080a000 73.0M 132K 132K 0K 3 4K 128K 97% 10 WebKit CStringBuffer_0x10b543000 66.0M 216K 216K 0K 89 4K 212K 99% 17 WebKit FrameView_0x127afd000 65.0M 108K 108K 0K 26 38K 70K 66% 9 WebKit DocumentLoader_0x127afb000 65.0M 308K 308K 0K 26 113K 195K 64% 9 WebKit UniqueArray_0x122bf2000 34.5M 840K 840K 0K 1995 561K 279K 34% 15 WebKit SVGDocument_0x133938000 33.0M 44K 44K 0K 5 16K 28K 64% 5 WebKit Malloc_0x10b4f3000 29.0M 24.3M 24.3M 0K 29 29.0M 0K 0% 16 WebKit CSSSelectorList array_0x128eee000 18.0M 368K 368K 0K 3816 260K 108K 30% 11 QuartzCore_0x10b5c8000 18.0M 256K 256K 0K 1650 121K 135K 53% 9 WebKit VM_0x122bfa000 17.0M 124K 124K 0K 22 8K 116K 94% 10 WebKit UniqueArrayElement_0x12a492000 17.0M 136K 136K 0K 705 32K 104K 77% 10 WebKit DFG::Node_0x12b228000 16.0M 11.1M 7416K 0K 1 32 7416K 100% 14 WebKit BagNode_0x12bf26000 13.0M 4080K 4080K 0K 29360 2374K 1706K 42% 13 WebKit SerializedScriptValue_0x1318e4000 11.0M 708K 708K 0K 466 36K 672K 95% 11 WebKit Region_0x128e22000 11.0M 132K 132K 0K 1 16 132K 100% 10 WebKit AccessCase_0x12a2c8000 10.0M 624K 624K 0K 3945 274K 350K 57% 10 WebKit StyleBoxData_0x1289cd000 10.0M 208K 208K 0K 734 57K 151K 73% 10 WebKit StyleSurroundData_0x1289ef000 10.0M 428K 428K 0K 338 90K 338K 80% 10 WebKit CSSValue_0x128e66000 10.0M 564K 564K 0K 11132 452K 112K 20% 10 WebKit HTMLBodyElement_0x128ffe000 10.0M 120K 120K 0K 22 2384 118K 99% 10 WebKit stringWrapperCFAllocatorDebugHeap_0x10b587000 10.0M 176K 176K 0K 857 54K 122K 70% 9 WebKit HTMLScriptElement_0x12945c000 10.0M 148K 148K 0K 217 37K 111K 75% 10 WebKit RenderInline_0x130ef8000 10.0M 188K 188K 0K 358 73K 115K 62% 10 WebKit Text_0x12bffb000 10.0M 596K 596K 0K 6173 482K 114K 20% 10 WebKit MessageEvent_0x127d64000 10.0M 1560K 1560K 0K 453 85K 1475K 95% 10 WebKit RegisterAtOffsetList_0x1274fd000 10.0M 268K 268K 0K 2400 38K 230K 87% 10 WebKit BytecodeGenerator_0x12bcfd000 10.0M 120K 120K 0K 1 32 120K 100% 10 WebKit HTMLHtmlElement_0x128fba000 10.0M 120K 120K 0K 22 2384 118K 99% 10 WebKit InferredStructure_0x12bee2000 10.0M 180K 180K 0K 1560 73K 107K 60% 10 WebKit ImmutableStyleProperties_0x128f10000 10.0M 388K 388K 0K 3602 269K 119K 31% 10 WebKit RenderView_0x128e00000 10.0M 132K 132K 0K 25 17K 115K 87% 10 WebKit MetaAllocatorHandle_0x127af7000 10.0M 764K 764K 0K 6798 425K 339K 45% 10 WebKit CodeBlock::RareData_0x12bf04000 10.0M 184K 184K 0K 242 23K 161K 88% 10 WebKit InlineTextBox_0x130efc000 10.0M 364K 364K 0K 626 59K 305K 84% 10 WebKit SourceProviderCacheItem_0x12bcf3000 10.0M 1456K 1456K 0K 7 480 1456K 100% 10 WebKit MarkedBlock::Handle_0x122bfe000 10.0M 796K 796K 0K 3367 473K 323K 41% 10 WebKit RenderImageResource_0x129a1a000 10.0M 120K 120K 0K 117 3744 116K 97% 10 WebKit RenderLayer_0x128e88000 10.0M 312K 312K 0K 408 127K 185K 60% 10 WebKit WatchpointSet_0x12a6e4000 10.0M 1756K 1756K 0K 31362 1470K 286K 17% 10 WebKit RuleSet::RuleDataVector_0x128f76000 10.0M 392K 392K 0K 2327 109K 283K 73% 10 WebKit InlineFlowBox_0x130efe000 10.0M 120K 120K 0K 9 1056 119K 100% 10 WebKit StructureStubClearingWatchpoint_0x12b0b1000 10.0M 852K 852K 0K 4457 348K 504K 60% 10 WebKit FontCascadeFonts_0x128e44000 10.0M 204K 204K 0K 111 31K 173K 85% 10 WebKit JSC WeakBlock_0x12b745000 10.0M 3332K 3332K 0K 12164 3041K 291K 9% 10 WebKit PolymorphicAccess_0x12b0af000 10.0M 344K 344K 0K 2348 147K 197K 58% 10 WebKit ElementData_0x1292af000 10.0M 360K 360K 0K 1836 229K 131K 37% 10 WebKit SymbolTableEntry::FatEntry_0x12bcfb000 10.0M 500K 500K 0K 21263 332K 168K 34% 9 WebKit StyleRareInheritedData_0x1289f5000 10.0M 140K 140K 0K 100 23K 117K 84% 10 WebKit HTMLSpanElement_0x13375a000 10.0M 124K 124K 0K 152 17K 107K 87% 10 WebKit StringSourceProvider_0x122bf8000 10.0M 244K 244K 0K 901 84K 160K 66% 9 WebKit RenderStyle_0x129042000 10.0M 1872K 1872K 0K 3733 350K 1522K 82% 10 WebKit InlineElementBox_0x129ac8000 10.0M 144K 144K 0K 135 10K 134K 93% 9 WebKit StyleInheritedData_0x1289f7000 10.0M 632K 632K 0K 810 126K 506K 80% 10 WebKit RenderBlockFlow_0x129166000 10.0M 700K 700K 0K 1547 435K 265K 38% 10 WebKit StyleRareNonInheritedData_0x1289f1000 10.0M 1276K 1276K 0K 1600 800K 476K 38% 10 WebKit RootInlineBox_0x133518000 10.0M 628K 628K 0K 616 115K 513K 82% 10 WebKit BytecodeBasicBlock_0x12b22a000 10.0M 840K 840K 0K 9348 730K 110K 14% 9 WebKit RenderImage_0x129a5e000 10.0M 144K 144K 0K 115 30K 114K 79% 10 WebKit HTMLElement_0x130782000 10.0M 168K 168K 0K 549 60K 108K 65% 10 WebKit ParserArenaRoot_0x12bcf5000 10.0M 120K 120K 0K 1 32 120K 100% 10 WebKit HTMLHeadElement_0x128fdc000 10.0M 120K 120K 0K 22 2384 118K 99% 10 WebKit UnlinkedInstructionStream_0x12bec0000 10.0M 424K 424K 0K 9536 298K 126K 30% 10 WebKit DirectJITCode_0x12bcf9000 10.0M 1020K 1020K 0K 2546 488K 532K 53% 10 WebKit HTMLButtonElement_0x13377c000 10.0M 120K 120K 0K 55 9K 111K 93% 10 WebKit QualifiedName::QualifiedNameImpl_0x127af9000 10.0M 164K 164K 0K 1080 51K 113K 70% 9 WebKit ShareableElementData_0x12c4e9000 10.0M 384K 384K 0K 2324 174K 210K 55% 10 WebKit DocumentFragment_0x12c4e3000 10.0M 132K 132K 0K 4 320 132K 100% 10 WebKit NodeRareData_0x129188000 10.0M 272K 272K 0K 1165 144K 128K 47% 10 WebKit RenderText_0x12e969000 10.0M 220K 220K 0K 834 91K 129K 59% 10 WebKit RuleSet_0x128ecc000 10.0M 256K 256K 0K 90 79K 177K 70% 10 WebKit MetaAllocatorFreeSpace_0x10b4ff000 10.0M 256K 256K 0K 803 38K 218K 86% 10 WebKit DOMRect_0x1298c3000 10.0M 184K 184K 0K 148 7K 177K 97% 9 WebKit SourceProviderCache_0x12bc8d000 10.0M 152K 152K 0K 13 608 151K 100% 10 WebKit StyleRule_0x128f32000 9216K 208K 208K 0K 3554 111K 97K 47% 9 WebKit TextDocument_0x129638000 9216K 28K 28K 0K 1 32 28K 100% 2 WebKit RenderButton_0x129976000 9216K 108K 108K 0K 10 4064 104K 97% 9 WebKit HTMLDivElement_0x12c4e7000 9216K 232K 232K 0K 997 109K 123K 54% 9 WebKit HTMLAnchorElement_0x130594000 9216K 184K 184K 0K 623 78K 106K 58% 9 WebKit Watchpoint_0x12b0b3000 9216K 120K 120K 0K 763 24K 96K 81% 9 WebKit CSSSelector::RareData_0x129325000 9216K 112K 112K 0K 253 20K 92K 83% 9 WebKit HTMLAudioElement_0x13355c000 9216K 20K 20K 0K 1 32 20K 100% 2 WebKit NodeListsNodeData_0x12bfd5000 9216K 176K 176K 0K 289 41K 135K 77% 9 WebKit HTMLImageElement_0x1338f4000 9216K 140K 140K 0K 145 45K 95K 68% 9 WebKit HTMLVideoElement_0x13353a000 9216K 20K 20K 0K 1 32 20K 100% 2 WebKit MutableStyleProperties_0x12928d000 9216K 324K 324K 0K 2022 221K 103K 32% 9 WebKit Font_0x129144000 8192K 176K 176K 0K 146 52K 124K 71% 6 WebKit StyleRuleBase_0x129303000 8192K 100K 100K 0K 446 8K 92K 93% 8 WebKit HTMLIFrameElement_0x13167b000 8192K 96K 96K 0K 25 3872 92K 97% 8 WebKit BlockDirectory_0x1274fb000 8192K 104K 104K 0K 70 19K 85K 82% 8 WebKit CSSFontFace_0x12a6e2000 8192K 428K 428K 0K 542 161K 267K 63% 8 NWMallocZone_0x1293c8000 8192K 100K 100K 0K 58 7K 93K 94% 8 WebKit HTMLInputElement_0x1305fa000 7168K 96K 96K 0K 23 5K 91K 95% 7 WebKit Comment_0x129249000 7168K 92K 92K 0K 170 13K 79K 86% 7 WebKit ShadowRoot_0x1305fc000 7168K 100K 100K 0K 89 17K 83K 84% 7 WebKit StyleTransformData_0x1289f3000 7168K 148K 148K 0K 1394 65K 83K 56% 7 WebKit TextControlInnerTextElement_0x1305fe000 7168K 84K 84K 0K 12 1280 83K 99% 7 WebKit HTMLHeadingElement_0x1337e2000 7168K 104K 104K 0K 250 27K 77K 74% 7 WebKit SVGSVGElement_0x13357e000 6144K 260K 260K 0K 382 196K 64K 25% 6 WebKit RenderTableCell_0x129954000 6144K 196K 196K 0K 458 136K 60K 31% 6 WebKit RenderTable_0x1298cc000 6144K 252K 252K 0K 441 186K 66K 27% 6 WebKit DocumentType_0x12bff9000 6144K 72K 72K 0K 16 1472 71K 99% 6 WebKit RenderTableRow_0x129932000 6144K 176K 176K 0K 441 110K 66K 38% 6 WebKit HTMLParagraphElement_0x13388e000 6144K 80K 80K 0K 129 14K 66K 83% 6 WebKit HTMLStyleElement_0x12c4e5000 6144K 72K 72K 0K 27 4K 68K 95% 6 WebKit StyleInheritedData_0x1298ee000 6144K 176K 176K 0K 441 110K 66K 38% 6 WebKit SMILTimeContainer_0x1335a0000 6144K 140K 140K 0K 382 71K 69K 49% 6 WebKit RenderTableSection_0x129910000 6144K 236K 236K 0K 441 172K 64K 28% 6 WebKit PseudoElement_0x130ef6000 6144K 124K 124K 0K 466 58K 66K 54% 6 WebKit RenderListItem_0x129a3c000 5120K 128K 128K 0K 216 67K 61K 48% 5 WebKit RenderTextFragment_0x130efa000 5120K 120K 120K 0K 466 65K 55K 46% 5 WebKit HTMLLinkElement_0x12945a000 5120K 60K 60K 0K 24 6K 54K 90% 5 WebKit HTMLUListElement_0x13379e000 5120K 64K 64K 0K 89 10K 54K 85% 5 WebKit HTMLLIElement_0x1337c0000 5120K 100K 100K 0K 481 53K 47K 48% 5 WebKit RenderSVGRoot_0x12934a000 5120K 60K 60K 0K 7 2912 57K 96% 5 WebKit HTMLSelectElement_0x1305b6000 4096K 52K 52K 0K 1 32 52K 100% 4 WebKit SVGPathElement_0x13395a000 4096K 660K 660K 0K 1227 613K 47K 8% 3 WebKit SVGRenderStyle_0x1289fb000 4096K 204K 204K 0K 1712 160K 44K 22% 4 WebKit HTMLOptionElement_0x1305d8000 4096K 48K 48K 0K 1 32 48K 100% 4 WebKit HTMLTitleElement_0x12926b000 4096K 48K 48K 0K 10 1184 47K 98% 4 WebKit StyleFillData_0x1289fd000 4096K 104K 104K 0K 944 59K 45K 44% 4 WebKit HTMLFormElement_0x1307e8000 4096K 48K 48K 0K 7 1568 46K 97% 4 WebKit HTMLTimeElement_0x1338b0000 4096K 52K 52K 0K 131 14K 38K 73% 4 WebKit HTMLMetaElement_0x129347000 4096K 48K 48K 0K 37 4064 44K 92% 4 WebKit HTMLTableElement_0x130760000 3072K 36K 36K 0K 2 160 36K 100% 3 WebKit TextControlPlaceholderElement_0x13384a000 3072K 36K 36K 0K 11 1168 35K 97% 3 WebKit SVGCircleElement_0x1311c6000 3072K 40K 40K 0K 20 8K 32K 80% 3 WebKit SVGImageElement_0x133804000 3072K 36K 36K 0K 4 1952 34K 95% 3 WebKit HTMLLabelElement_0x133828000 3072K 36K 36K 0K 11 1152 35K 97% 3 WebKit RenderSVGPath_0x12936c000 3072K 456K 456K 0K 1223 420K 36K 8% 3 WebKit MutationObserver_0x12b0b5000 3072K 36K 36K 0K 12 912 35K 98% 3 WebKit HTMLTableCellElement_0x1316f9000 2048K 24K 24K 0K 17 1824 22K 93% 2 WebKit SVGClipPathElement_0x1335e4000 2048K 48K 48K 0K 67 27K 21K 45% 2 WebKit Attr_0x1307c6000 2048K 24K 24K 0K 2 128 24K 100% 2 WebKit HTMLTableRowElement_0x1316f7000 2048K 24K 24K 0K 5 480 24K 99% 2 WebKit RenderSVGImage_0x1299f8000 2048K 24K 24K 0K 3 640 23K 98% 2 WebKit HTMLUnknownElement_0x12a1e9000 2048K 24K 24K 0K 2 144 24K 100% 2 WebKit HTMLHRElement_0x1338d2000 2048K 24K 24K 0K 23 2496 22K 90% 2 WebKit HTMLTextAreaElement_0x1307a4000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit TextControlInnerElement_0x133628000 2048K 24K 24K 0K 4 368 24K 99% 2 WebKit HTMLTableSectionElement_0x1316d5000 2048K 24K 24K 0K 2 144 24K 100% 2 WebKit TextControlInnerContainer_0x133606000 2048K 24K 24K 0K 4 384 24K 99% 2 WebKit SVGRectElement_0x1298c7000 2048K 24K 24K 0K 3 1024 23K 96% 2 WebKit HTMLBRElement_0x133916000 2048K 24K 24K 0K 4 368 24K 99% 2 WebKit HTMLOListElement_0x13386c000 2048K 24K 24K 0K 4 416 24K 99% 2 WebKit SVGStyleElement_0x13124e000 2048K 24K 24K 0K 3 640 23K 98% 2 WebKit RenderIFrame_0x1298c9000 2048K 24K 24K 0K 10 2624 21K 90% 2 WebKit RenderSVGHiddenContainer_0x1312f8000 1024K 24K 24K 0K 68 16K 8K 35% 1 WebKit SliderThumbElement_0x1336b0000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit RenderSlider_0x1336f4000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit_RenderSliderContainer_0x133716000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit SVGEllipseElement_0x13122c000 1024K 12K 12K 0K 4 1424 11K 89% 1 WebKit RenderTextControlSingleLine_0x1298c5000 1024K 12K 12K 0K 3 624 11K 95% 1 WebKit SVGMaskElement_0x131270000 1024K 12K 12K 0K 2 400 12K 97% 1 WebKit HTMLPreElement_0x130837000 1024K 12K 12K 0K 2 144 12K 99% 1 WebKit SliderContainerElement_0x1336d2000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit HTMLCanvasElement_0x12a490000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit SVGDefsElement_0x1311e8000 1024K 36K 36K 0K 68 27K 9K 25% 1 WebKit RenderTextControlInnerBlock_0x129aca000 1024K 12K 12K 0K 3 624 11K 95% 1 WebKit SpinButtonElement_0x13368e000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit RenderSVGResourceClipper_0x13131a000 1024K 36K 36K 0K 67 26K 10K 29% 1 WebKit RenderSVGTransformableContainer_0x1312b4000 1024K 68K 68K 0K 196 58K 10K 15% 1 WebKit RenderLineBreak_0x129a80000 1024K 12K 12K 0K 2 240 12K 99% 1 WebKit RenderSliderThumb_0x133738000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit SearchFieldCancelButtonElement_0x13366c000 1024K 12K 12K 0K 1 48 12K 100% 1 WebKit RenderSVGEllipse_0x1312d6000 1024K 16K 16K 0K 20 7K 9K 59% 1 WebKit SVGTextElement_0x12a2a5000 1024K 12K 12K 0K 2 592 11K 96% 1 WebKit SearchFieldResultsButtonElement_0x13364a000 1024K 12K 12K 0K 1 48 12K 100% 1 WebKit SVGAnimateElement_0x1335c2000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit SVGUseElement_0x13120a000 1024K 48K 48K 0K 67 37K 11K 23% 1 WebKit RenderFlexibleBox_0x129aa2000 1024K 12K 12K 0K 2 464 12K 97% 1 WebKit RenderSVGResourceMasker_0x13133c000 1024K 12K 12K 0K 2 432 12K 97% 1 WebKit SVGGElement_0x1311a4000 1024K 64K 64K 0K 130 52K 12K 19% 1 WebKit RenderSVGViewportContainer_0x131292000 1024K 124K 124K 0K 369 115K 9K 8% 1 DefaultPurgeableMallocZone_0x129217000 960K 960K 960K 0K 11 956K 4K 1% 12 GFXMallocZone_0x10b38d000 0K 0K 0K 0K 0 0K 0K 0% 0 =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== TOTAL 3.7G 359.1M 349.2M 0K 574421 165.7M 183.5M 53% 1571
EWS Watchlist
Comment 6 2018-06-17 10:10:05 PDT
Comment on attachment 342911 [details] Patch, not for landing Attachment 342911 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/8222198 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 7 2018-06-17 10:10:07 PDT
Created attachment 342912 [details] Archive of layout-test-results from ews113 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-sierra Platform: Mac OS X 10.12.6
Darin Adler
Comment 8 2018-06-17 11:11:36 PDT
Comment on attachment 342911 [details] Patch, not for landing View in context: https://bugs.webkit.org/attachment.cgi?id=342911&action=review I love this. But I’d like to see a version of this with fewer #if scattered around the code. > Source/JavaScriptCore/assembler/AssemblerBuffer.cpp:37 > + static NeverDestroyed<WTF::DebugHeap> heap = WTF::DebugHeap("WebKit AssemblerData"); Do we need to repeat the class name twice? Does this work? static NeverDestroyed<WTF::DebugHeap> heap { "WebKit AssemblerData" }; Or maybe the same thing but with two sets of braces? > Source/JavaScriptCore/assembler/AssemblerBuffer.h:88 > +#if ENABLE(MALLOC_HEAP_BREAKDOWN) > + m_buffer = static_cast<char*>(assemblerDataHeap().malloc(m_capacity)); > +#else > m_buffer = static_cast<char*>(fastMalloc(m_capacity)); > +#endif Can we instead up with some idiom where we always write the MALLOC_HEAP_BREAKDOWN version, but due to inlining it just compiles into a call to fastMalloc when MALLOC_HEAP_BREAKDOWN is not enabled? We’d just need assemblerDataHeap() to be an inline function returning an empty object with an inline malloc function, I think. > Source/JavaScriptCore/bytecode/AccessCase.h:84 > +#if ENABLE(MALLOC_HEAP_BREAKDOWN) > + WTF_MAKE_FAST_ALLOCATED_FROM_DEBUG_HEAP(AccessCase); > +#else > WTF_MAKE_FAST_ALLOCATED; > +#endif Same question. Can we avoid having the #if everywhere by having WTF_MAKE_FAST_ALLOCATED_FROM_DEBUG_HEAP expand to just WTF_MAKE_FAST_ALLOCATED when MALLOC_HEAP_BREAKDOWN is disabled?
Radar WebKit Bug Importer
Comment 9 2018-06-18 11:37:24 PDT
Michael Saboff
Comment 10 2018-10-15 16:41:49 PDT
Created attachment 352402 [details] Rebased Patch, not for landing
Yusuke Suzuki
Comment 11 2019-05-15 00:05:48 PDT
Added MetadataTable category and it turns out that MetadataTable is massive in Gmail!
Yusuke Suzuki
Comment 12 2019-05-15 00:08:18 PDT
Created attachment 369931 [details] Patch Rebaselining and adding more data structure supports! Not intend to land it for now
EWS Watchlist
Comment 13 2019-05-15 00:10:50 PDT
Attachment 369931 [details] did not pass style-queue: ERROR: Source/WTF/wtf/Platform.h:1183: CPP comments are not allowed in Platform.h, please use C comments /* ... */ [build/cpp_comment] [5] ERROR: Source/WTF/wtf/MallocPtr.h:61: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/MallocPtr.h:183: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/HashTable.cpp:23: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/WTF/wtf/Vector.cpp:22: You should add a blank line after implementation file's own header. [build/include_order] [4] ERROR: Source/WTF/wtf/DebugHeap.h:26: Use #pragma once instead of #ifndef for header guard. [build/header_guard] [5] ERROR: Source/WTF/wtf/RefCountedArray.cpp:27: You should add a blank line after implementation file's own header. [build/include_order] [4] ERROR: Source/WTF/wtf/ConcurrentBuffer.cpp:27: Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:59: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:71: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:83: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:165: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.cpp:27: Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.cpp:28: Alphabetical sorting problem. [build/include_order] [4] ERROR: Source/WTF/wtf/FastMalloc.cpp:305: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WTF/wtf/SegmentedVector.h:36: Code inside a namespace should not be indented. [whitespace/indent] [4] ERROR: Source/WTF/wtf/UniqueArray.cpp:22: You should add a blank line after implementation file's own header. [build/include_order] [4] ERROR: Source/WTF/wtf/text/StringBuffer.h:35: Alphabetical sorting problem. [build/include_order] [4] ERROR: Source/bmalloc/bmalloc/Heap.cpp:48: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/Heap.cpp:57: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/Heap.cpp:66: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 21 in 185 files If any of these errors are false positives, please file a bug against check-webkit-style.
Yusuke Suzuki
Comment 14 2019-05-15 00:16:51 PDT
Got Gmail data! The highlights are, 1. WebKit Vector_0x111356000 514.0M 150.8M 109.9M 0K 393964 83.0M 26.9M 25% 109 2. WebKit HashTable_0x10c954000 359.0M 68.0M 53.2M 0K 29296 36.2M 17.0M 32% 65 3. WebKit StringImpl_0x111354000 282.0M 41.0M 38.3M 0K 189152 31.9M 6523K 17% 51 4. WebKit MetadataTable_0x117914000 275.0M 54.3M 54.3M 0K 25883 54.8M 0K 0% 51 5. WebKit UniqueArray_0x10c952000 117.0M 24.8M 24.8M 0K 276375 21.6M 3236K 13% 47 6. WebKit BagNode_0x117c78000 30.0M 16.6M 16.6M 0K 195956 16.0M 575K 4% 30 7. WebKit Using System Malloc_0x10c48e000 244.0M 66.6M 66.2M 0K 274258 54.0M 12.2M 19% 55 Currently, bytecode instruction stream is included in Vector, I want to decouple it from the Vector by changing InstructionStream code a bit in this patch. I'll attempt to compact ValueProfile and ArrayProfile to make MetadataTable small, while I take a closer look into MetadataTable use. And I also want to know what whether this size of StringImpl is reasonable for Gmail, and what is UniqueArray here. VIRTUAL RESIDENT DIRTY SWAPPED ALLOCATION BYTES DIRTY+SWAP REGION MALLOC ZONE SIZE SIZE SIZE SIZE COUNT ALLOCATED FRAG SIZE % FRAG COUNT =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== WebKit Vector_0x111356000 514.0M 150.8M 109.9M 0K 393964 83.0M 26.9M 25% 109 WebKit HashTable_0x10c954000 359.0M 68.0M 53.2M 0K 29296 36.2M 17.0M 32% 65 WebKit AssemblerData_0x116813000 319.0M 12.6M 12.6M 0K 2 5K 12.6M 100% 55 DefaultMallocZone_0x10c48c000 289.0M 25.5M 23.4M 0K 320227 18.8M 4731K 20% 69 WebKit StringImpl_0x111354000 282.0M 41.0M 38.3M 0K 189152 31.9M 6523K 17% 51 WebKit MetadataTable_0x117914000 275.0M 54.3M 54.3M 0K 25883 54.8M 0K 0% 51 WebKit Using System Malloc_0x10c48e000 244.0M 66.6M 66.2M 0K 274258 54.0M 12.2M 19% 55 WebKit StringBuffer_0x117239000 218.0M 4156K 4156K 0K 1 32 4156K 100% 36 WebKit IsoAlignedMemoryAllocator_0x1166ce000 209.0M 83.6M 83.6M 0K 4399 68.7M 14.9M 18% 27 WebKit FastMallocAlignedMemoryAllocator_0x11145c000 193.0M 84.2M 83.1M 0K 4376 68.4M 14.7M 18% 25 WebKit smallPtrSetHeap_0x117996000 182.0M 2516K 2516K 0K 1 32 2516K 100% 35 WebKit JSC PropertyTable_0x11737e000 150.0M 8776K 8752K 0K 9563 3741K 5011K 58% 31 WebKit RefCountedArray_0x116be2000 142.0M 3520K 3520K 0K 32936 3282K 238K 7% 30 WebKit SegmentedVector_0x117400000 131.0M 8548K 8548K 0K 22549 6567K 1981K 24% 33 WebKit UniqueArray_0x10c952000 117.0M 24.8M 24.8M 0K 276375 21.6M 3236K 13% 47 WebKit JSC ParserArena_0x117851000 113.0M 34.4M 26.5M 0K 1 32 26.5M 100% 15 WebKit SpeculativeJIT_0x117dad000 113.0M 124K 124K 0K 1 32 124K 100% 15 WebKit GCSegmentedArray_0x11145a000 113.0M 1244K 1244K 0K 52 204K 1040K 84% 15 WebKit IdentifierArena_0x1177cf000 113.0M 124K 124K 0K 1 32 124K 100% 15 WebKit TreeResolver::Scope_0x117074000 89.0M 176K 176K 0K 1 32 176K 100% 12 WebKit CachedResource_0x1171b7000 89.0M 448K 448K 0K 234 350K 98K 22% 12 WebKit XMLHttpRequest_0x117dbc000 89.0M 156K 156K 0K 39 57K 99K 64% 12 WebKit HTMLDocumentParser_0x116f70000 81.0M 108K 108K 0K 1 32 108K 100% 11 WebKit ResourceLoader_0x1171f8000 81.0M 168K 168K 0K 2 1568 166K 100% 11 WebKit FrameView_0x116958000 73.0M 96K 96K 0K 15 21K 75K 79% 10 WebKit HTMLDocument_0x116999000 73.0M 140K 140K 0K 15 49K 91K 65% 10 WebKit SourceProviderCacheItem_0x117892000 69.0M 4940K 4940K 0K 9629 605K 4335K 88% 20 WebKit DocumentLoader_0x116917000 57.0M 156K 156K 0K 15 49K 107K 69% 8 WebKit HTMLAudioElement_0x119e2f000 33.0M 44K 44K 0K 4 8K 36K 83% 5 WebKit ConcurrentBuffer_0x1172fc000 32.0M 120K 120K 0K 43 9K 111K 93% 11 WebKit BagNode_0x117c78000 30.0M 16.6M 16.6M 0K 195956 16.0M 575K 4% 30 QuartzCore_0x1168d6000 30.0M 344K 344K 0K 842 72K 272K 79% 16 WebKit CStringBuffer_0x110900000 29.0M 204K 204K 0K 69 3056 201K 99% 15 WebKit UniqueArrayElement_0x116e6c000 27.0M 1772K 1772K 0K 38287 1600K 172K 10% 13 WebKit DFG::Node_0x117da9000 24.0M 7348K 6828K 0K 1 32 6828K 100% 24 MallocStackLoggingLiteZone_0x11a004000 21.0M 284K 284K 0K 1416 53K 231K 82% 14 WebKit BasicBlock_0x117da7000 17.0M 604K 604K 0K 1 32 604K 100% 17 WebKit RegisterAtOffsetList_0x1167d2000 16.0M 228K 228K 0K 2623 41K 187K 83% 16 WebKit FastBitVector_0x11670f000 16.0M 908K 908K 0K 40469 645K 263K 30% 16 WebKit VM_0x11668d000 16.0M 104K 104K 0K 26 6K 98K 94% 9 WebKit SymbolTableEntry::FatEntry_0x117441000 15.0M 1308K 1308K 0K 70344 1099K 209K 16% 15 WebKit CSSValue_0x116d68000 15.0M 5100K 5100K 0K 142662 4875K 225K 5% 15 WebKit BitVector_0x117daf000 15.0M 180K 180K 0K 1 32 180K 100% 15 WebKit JSC WeakBlock_0x11733d000 14.0M 3976K 3976K 0K 14948 3737K 239K 7% 14 WebKit DirectJITCode_0x1173bf000 14.0M 1668K 1668K 0K 7890 1459K 209K 13% 14 WebKit WatchpointSet_0x1172bb000 14.0M 3260K 3260K 0K 96932 3029K 231K 8% 14 WebKit BytecodeGenerator_0x117955000 14.0M 168K 168K 0K 1 32 168K 100% 14 WebKit BytecodeBasicBlock_0x117dab000 14.0M 1776K 1776K 0K 19772 1545K 231K 14% 14 WebKit MetaAllocatorHandle_0x116854000 14.0M 2088K 2088K 0K 29629 1852K 236K 12% 14 WebKit ParserArenaRoot_0x1178d3000 14.0M 168K 168K 0K 1 32 168K 100% 14 WebKit ImmutableStyleProperties_0x116ead000 13.0M 3912K 3912K 0K 37556 3725K 187K 5% 13 WebKit SerializedScriptValue_0x117db3000 13.0M 156K 156K 0K 137 13K 143K 92% 13 WebKit Watchpoint_0x117a18000 13.0M 360K 360K 0K 3806 119K 241K 67% 13 WebKit CodeBlock::RareData_0x1179d7000 13.0M 264K 264K 0K 1017 95K 169K 64% 13 WebKit AccessCase_0x117c7a000 13.0M 1496K 1496K 0K 26075 1237K 259K 18% 13 WebKit MarkedBlock::Handle_0x116750000 13.0M 1800K 1800K 0K 11567 1626K 174K 10% 13 WebKit MetaAllocatorFreeSpace_0x10c956000 13.0M 396K 396K 0K 591 28K 368K 94% 13 WebKit PolymorphicAccess_0x117c7c000 13.0M 1048K 1048K 0K 14047 878K 170K 17% 13 WebKit MessageEvent_0x118587000 13.0M 172K 172K 0K 136 25K 147K 86% 13 WebKit SourceProviderCache_0x117810000 12.0M 144K 144K 0K 85 2720 141K 99% 12 WebKit ElementData_0x117608000 12.0M 312K 312K 0K 1203 150K 162K 52% 12 WebKit MutableStyleProperties_0x1175c7000 11.0M 240K 240K 0K 1058 99K 141K 59% 11 WebKit PerformanceEntry_0x117c61000 11.0M 208K 208K 0K 194 72K 136K 66% 11 WebKit StringSourceProvider_0x11664c000 11.0M 160K 160K 0K 313 34K 126K 79% 11 WebKit Region_0x116ce6000 11.0M 132K 132K 0K 1 16 132K 100% 11 WebKit RuleSet_0x116e2b000 11.0M 220K 220K 0K 73 48K 172K 79% 11 WebKit QualifiedName::QualifiedNameImpl_0x116895000 11.0M 180K 180K 0K 1082 51K 129K 72% 11 WebKit Text_0x117586000 11.0M 508K 508K 0K 3589 280K 228K 45% 11 WebKit CSSSelector::RareData_0x1176cb000 10.0M 180K 180K 0K 700 55K 125K 70% 10 WebKit RenderBlockFlow_0x117137000 10.0M 1296K 1296K 0K 1890 502K 794K 62% 10 WebKit FontCascadeFonts_0x116d27000 10.0M 144K 144K 0K 93 20K 124K 87% 10 WebKit StyleRareNonInheritedData_0x116ade000 10.0M 3208K 3208K 0K 1553 752K 2456K 77% 10 WebKit StyleRareInheritedData_0x116b60000 10.0M 376K 376K 0K 288 76K 300K 80% 10 WebKit NodeRareData_0x117649000 10.0M 576K 576K 0K 2911 408K 168K 30% 10 WebKit StyleRule_0x116eee000 10.0M 1288K 1288K 0K 36764 1149K 139K 11% 10 WebKit NodeListsNodeData_0x118483000 10.0M 148K 148K 0K 170 16K 132K 90% 10 WebKit BlockDirectory_0x116791000 10.0M 136K 136K 0K 83 22K 114K 84% 10 WebKit RenderLayer_0x116da9000 10.0M 1984K 1984K 0K 2109 725K 1259K 64% 10 WebKit HTMLScriptElement_0x11778e000 10.0M 128K 128K 0K 112 19K 109K 86% 10 WebKit RenderStyle_0x1170b5000 10.0M 1696K 1696K 0K 1324 124K 1572K 93% 10 WebKit StaticElementList_0x117db5000 10.0M 120K 120K 0K 4 176 120K 100% 10 WebKit StyleSurroundData_0x116a9d000 10.0M 1392K 1392K 0K 1293 303K 1089K 79% 10 WebKit HTMLDivElement_0x117e3e000 10.0M 560K 560K 0K 3554 389K 171K 31% 10 WebKit stringWrapperCFAllocatorDebugHeap_0x111358000 10.0M 120K 120K 0K 85 5K 115K 96% 10 WebKit DocumentFragment_0x11860d000 10.0M 120K 120K 0K 2 112 120K 100% 10 WebKit RuleSet::RuleDataVector_0x116f2f000 10.0M 1444K 1444K 0K 19825 929K 515K 36% 10 WebKit InlineCSSStyleDeclaration_0x11913e000 10.0M 132K 132K 0K 418 20K 112K 86% 10 WebKit StyleInheritedData_0x116ba1000 10.0M 1240K 1236K 0K 1628 254K 982K 80% 10 WebKit StyleBoxData_0x116a5c000 10.0M 680K 676K 0K 1715 134K 542K 81% 10 WebKit RenderView_0x116ca5000 9216K 108K 108K 0K 15 9K 99K 92% 9 WebKit SVGDocument_0x11925d000 9216K 24K 24K 0K 3 7K 17K 71% 2 WebKit HTMLStyleElement_0x11774d000 9216K 108K 108K 0K 16 2432 106K 98% 9 WebKit UndoManager_0x1169da000 9216K 108K 108K 0K 17 800 107K 100% 9 WebKit StyleResolver_0x116dea000 9216K 116K 116K 0K 16 14K 102K 89% 9 WebKit HTMLSpanElement_0x11917f000 9216K 620K 620K 0K 3250 355K 265K 43% 9 WebKit HTMLHeadElement_0x116ff2000 9216K 108K 108K 0K 15 1600 106K 99% 9 WebKit CSSComputedStyleDeclaration_0x118401000 9216K 124K 124K 0K 369 12K 112K 91% 9 WebKit ChildNodeList_0x1184c4000 9216K 116K 116K 0K 12 912 115K 100% 9 WebKit HTMLHtmlElement_0x116fb1000 9216K 108K 108K 0K 15 1600 106K 99% 9 WebKit ShareableElementData_0x1174c3000 9216K 304K 304K 0K 2311 169K 135K 45% 9 WebKit HTMLLIElement_0x118046000 8192K 240K 240K 0K 918 100K 140K 59% 8 WebKit ClassCollection_0x1195ae000 8192K 140K 140K 0K 211 49K 91K 65% 8 WebKit StyleTransformData_0x116b1f000 8192K 96K 96K 0K 32 1520 95K 99% 8 WebKit HTMLBodyElement_0x117033000 8192K 96K 96K 0K 15 1600 94K 99% 8 WebKit DOMRectReadOnly_0x118442000 8192K 120K 120K 0K 486 23K 97K 82% 8 WebKit Font_0x1170f6000 8192K 168K 168K 0K 64 37K 131K 78% 8 WebKit StyleRuleBase_0x11768a000 8192K 132K 132K 0K 1032 36K 96K 73% 8 WebKit Performance_0x118109000 8192K 96K 96K 0K 14 3984 92K 96% 8 WebKit InlineTextBox_0x117db7000 8192K 300K 300K 0K 589 55K 245K 82% 8 WebKit RootInlineBox_0x117db9000 8192K 460K 460K 0K 591 101K 359K 78% 8 WebKit RenderText_0x117b76000 8192K 296K 296K 0K 640 70K 226K 77% 8 WebKit VisualViewport_0x111464000 8192K 96K 96K 0K 14 2112 94K 98% 8 WebKit HTMLImageElement_0x1185c8000 8192K 208K 208K 0K 243 76K 132K 64% 8 WebKit DOMWindow_0x116a1b000 8192K 96K 96K 0K 17 6K 90K 94% 8 WebKit InlineElementBox_0x1183c0000 7168K 84K 84K 0K 40 2528 82K 98% 7 WebKit HTMLIFrameElement_0x117dfd000 7168K 84K 84K 0K 13 1952 82K 98% 7 WebKit SVGRenderStyle_0x116c23000 7168K 84K 84K 0K 30 2816 81K 97% 7 WebKit HTMLUListElement_0x11956d000 7168K 124K 124K 0K 224 24K 100K 81% 7 WebKit HTMLTagCollection_0x118546000 7168K 84K 84K 0K 21 5K 79K 95% 7 WebKit StyleFillData_0x116c64000 7168K 84K 84K 0K 21 992 83K 99% 7 WebKit HTMLTableCellElement_0x119324000 7168K 436K 436K 0K 2183 239K 197K 46% 7 WebKit RenderInline_0x119201000 7168K 288K 288K 0K 390 73K 215K 75% 7 WebKit HTMLAnchorElement_0x117fc4000 7168K 128K 128K 0K 171 24K 104K 82% 7 WebKit RenderFlexibleBox_0x1191c0000 6144K 1680K 1680K 0K 1602 575K 1105K 66% 6 WebKit DocumentType_0x117482000 6144K 72K 72K 0K 11 992 71K 99% 6 WebKit HTMLTableRowElement_0x1192e3000 6144K 108K 108K 0K 205 22K 86K 80% 6 WebKit RenderTextFragment_0x117b74000 5120K 328K 328K 0K 698 98K 230K 71% 5 WebKit PseudoElement_0x117adb000 5120K 296K 296K 0K 699 87K 209K 71% 5 WebKit RenderImage_0x1196b2000 5120K 60K 60K 0K 11 2592 57K 96% 5 WebKit_GenericChildrenOnlyCachedHTMLCollection_0x119980000 5120K 60K 60K 0K 15 1392 59K 98% 5 WebKit Navigator_0x117a59000 5120K 60K 60K 0K 9 928 59K 99% 5 WebKit RenderIFrame_0x117b1c000 5120K 60K 60K 0K 7 1664 58K 98% 5 WebKit HTMLTableElement_0x119261000 5120K 60K 60K 0K 8 928 59K 99% 5 WebKit EllipsisBox_0x11925b000 5120K 124K 124K 0K 193 15K 109K 88% 5 WebKit InlineFlowBox_0x119c93000 5120K 60K 60K 0K 3 256 60K 100% 5 WebKit Location_0x117b78000 5120K 60K 60K 0K 13 400 60K 100% 5 WebKit RenderScrollbarPart_0x11993c000 5120K 60K 60K 0K 24 5K 55K 91% 5 WebKit MessagePort_0x119c4c000 5120K 60K 60K 0K 13 1952 58K 97% 5 WebKit HTMLLinkElement_0x11770c000 4096K 48K 48K 0K 12 3024 45K 94% 4 WebKit CSSFontFace_0x117a9a000 4096K 68K 68K 0K 99 20K 48K 71% 4 WebKit_GenericDescendantsCachedHTMLCollection_0x119a30000 4096K 48K 48K 0K 6 1168 47K 98% 4 WebKit HTMLElement_0x117f42000 4096K 48K 48K 0K 8 816 47K 99% 4 WebKit AllDescendantsCollection_0x1193e7000 4096K 48K 48K 0K 10 2048 46K 96% 4 WebKit SVGSVGElement_0x119428000 4096K 48K 48K 0K 18 7K 41K 87% 4 WebKit RenderImageResource_0x1196f3000 4096K 48K 48K 0K 9 288 48K 100% 4 WebKit SVGPathElement_0x1194aa000 4096K 48K 48K 0K 32 10K 38K 80% 4 WebKit Storage_0x117c7f000 4096K 48K 48K 0K 7 208 48K 100% 4 WebKit RenderSVGRoot_0x119630000 4096K 48K 48K 0K 11 4K 44K 91% 4 WebKit SMILTimeContainer_0x119469000 4096K 48K 48K 0K 18 2480 46K 95% 4 WebKit RenderSVGPath_0x119671000 4096K 48K 48K 0K 21 6K 42K 87% 4 WebKit HTMLHeadingElement_0x1185ca000 4096K 48K 48K 0K 7 704 47K 99% 4 WebKit HTMLMetaElement_0x117504000 4096K 48K 48K 0K 16 1712 46K 97% 4 WebKit HTMLTableSectionElement_0x1192a2000 4096K 48K 48K 0K 7 704 47K 99% 4 WebKit RenderImageResourceStyleImage_0x1197b6000 4096K 48K 48K 0K 3 144 48K 100% 4 WebKit HTMLBaseElement_0x1180c8000 3072K 36K 36K 0K 4 368 36K 100% 3 WebKit ShadowRoot_0x117f01000 3072K 36K 36K 0K 10 1760 34K 96% 3 WebKit HTMLTableColElement_0x119257000 3072K 36K 36K 0K 23 2496 34K 94% 3 WebKit HTMLFormControlsCollection_0x118505000 3072K 36K 36K 0K 5 432 36K 99% 3 WebKit StyleInheritedData_0x119879000 3072K 36K 36K 0K 7 416 36K 99% 3 WebKit RenderTable_0x119838000 3072K 36K 36K 0K 7 2432 34K 94% 3 WebKit Screen_0x119c8f000 3072K 36K 36K 0K 5 144 36K 100% 3 WebKit HTMLBRElement_0x119365000 3072K 36K 36K 0K 7 704 35K 99% 3 WebKit TrackListBase_0x119e33000 3072K 36K 36K 0K 4 752 35K 98% 3 WebKit HTMLInputElement_0x117ec0000 3072K 36K 36K 0K 10 2192 34K 95% 3 WebKit RenderTableCol_0x119259000 3072K 36K 36K 0K 12 2672 33K 93% 3 WebKit TextControlInnerTextElement_0x118087000 3072K 36K 36K 0K 4 384 36K 99% 3 WebKit DOMPluginArray_0x119a2a000 3072K 36K 36K 0K 4 128 36K 100% 3 WebKit RenderButton_0x117b5d000 3072K 36K 36K 0K 7 2336 34K 94% 3 WebKit DOMMimeTypeArray_0x119a2c000 3072K 36K 36K 0K 4 128 36K 100% 3 WebKit HTMLTableRowsCollection_0x1185cc000 2048K 24K 24K 0K 5 352 24K 99% 2 WebKit ServiceWorker_0x11727a000 2048K 24K 24K 0K 2 224 24K 100% 2 WebKit RenderTableSection_0x1198ba000 2048K 24K 24K 0K 6 1712 22K 94% 2 WebKit HTMLTitleElement_0x117545000 2048K 24K 24K 0K 4 416 24K 99% 2 WebKit IDBDatabase_0x119a2e000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit HTMLFormElement_0x117e7f000 2048K 24K 24K 0K 5 992 23K 96% 2 WebKit RenderTableRow_0x1198fb000 2048K 24K 24K 0K 12 2672 21K 90% 2 WebKit HTMLButtonElement_0x1194eb000 2048K 24K 24K 0K 10 1616 22K 94% 2 WebKit ServiceWorkerContainer_0x117db1000 2048K 24K 24K 0K 3 544 23K 98% 2 WebKit RenderTableCell_0x1197f7000 2048K 24K 24K 0K 12 3200 21K 87% 2 WebKit TrailingFloatsRootInlineBox_0x119cd4000 2048K 24K 24K 0K 2 224 24K 100% 2 WebKit RenderLineBreak_0x1195ef000 1024K 12K 12K 0K 4 608 11K 96% 1 WebKit SVGGElement_0x119c91000 1024K 12K 12K 0K 3 640 11K 95% 1 WebKit IDBTransaction_0x119a86000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit HTMLUnknownElement_0x11a00e000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit MutationObserver_0x11925f000 1024K 12K 12K 0K 2 128 12K 99% 1 WebKit HTMLCanvasElement_0x119e2b000 1024K 12K 12K 0K 3 480 12K 97% 1 WebKit TextControlPlaceholderElement_0x11952c000 1024K 12K 12K 0K 2 160 12K 99% 1 WebKit IDBRequest_0x119c8d000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit HTMLParagraphElement_0x117f83000 1024K 12K 12K 0K 2 144 12K 99% 1 WebKit IDBOpenDBRequest_0x119a89000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit RenderTextControlSingleLine_0x119734000 1024K 12K 12K 0K 2 320 12K 98% 1 WebKit HTMLHRElement_0x1193a6000 1024K 12K 12K 0K 2 144 12K 99% 1 WebKit HTMLOListElement_0x118005000 1024K 12K 12K 0K 2 160 12K 99% 1 WebKit RenderTextControlInnerBlock_0x119775000 1024K 12K 12K 0K 2 320 12K 98% 1 WebKit CanvasRenderingContext2D_0x119e2d000 1024K 12K 12K 0K 3 960 11K 93% 1 WebKit History_0x119e31000 1024K 12K 12K 0K 3 176 12K 99% 1 WebKit AbortSignal_0x119d93000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit SVGRectElement_0x119dd5000 1024K 12K 12K 0K 5 1504 11K 88% 1 DefaultPurgeableMallocZone_0x11997d000 116K 116K 116K 0K 2 112K 4K 4% 3 =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== TOTAL 6.0G 766.5M 696.0M 0K 2451966 504.1M 191.9M 28% 2139
Yusuke Suzuki
Comment 15 2019-05-15 00:18:40 PDT
(In reply to Yusuke Suzuki from comment #14) BTW, I'm also running the script dumping all the allocations and annotating all of them with some meaningful stack trace entry. It seems that my script is too slow and it takes 32 more hours, but after that, we can get exact heap information too :)
EWS Watchlist
Comment 16 2019-05-15 01:18:12 PDT
Comment on attachment 369931 [details] Patch Attachment 369931 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/12195288 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 17 2019-05-15 01:18:14 PDT
Created attachment 369938 [details] Archive of layout-test-results from ews100 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-highsierra Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 18 2019-05-15 01:25:48 PDT
Comment on attachment 369931 [details] Patch Attachment 369931 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/12195301 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 19 2019-05-15 01:25:50 PDT
Created attachment 369939 [details] Archive of layout-test-results from ews105 for mac-highsierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews105 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 20 2019-05-15 01:37:25 PDT
Comment on attachment 369931 [details] Patch Attachment 369931 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/12195298 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 21 2019-05-15 01:37:28 PDT
Created attachment 369940 [details] Archive of layout-test-results from ews117 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-highsierra Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 22 2019-05-15 01:55:28 PDT
Comment on attachment 369931 [details] Patch Attachment 369931 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/12195319 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 23 2019-05-15 01:55:30 PDT
Created attachment 369941 [details] Archive of layout-test-results from ews122 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews122 Port: ios-simulator-wk2 Platform: Mac OS X 10.14.4
Simon Fraser (smfr)
Comment 24 2019-05-15 07:35:16 PDT
Nice! Glad this was useful.
Yusuke Suzuki
Comment 25 2019-05-15 11:26:50 PDT
(In reply to Simon Fraser (smfr) from comment #24) > Nice! Glad this was useful. Thanks so much! It is quite useful. Next, I’ll take the histogram of MetadataTable Opcodes to see what Metadata in the table is eating many bytes.
Shawn Roberts
Comment 26 2019-05-15 13:30:02 PDT
Comment on attachment 369931 [details] Patch Spoke to Yusuke, JSC EWS seems to stall running API tests after this patch. Obsoleting it in hopes to keep EWS moving.
Yusuke Suzuki
Comment 27 2019-05-16 00:10:12 PDT
Reviving Vector Malloc parameter now. I think this direction can, 1. offer the way to examine the content of Vectors more. The dumped result in Gmail says Vector takes much memory, but not sure what Vector is. In particular, we would like to report JSC::InstructionStream separately. 2. offer the way to make this patch works in a cleaner way. If it becomes cleaner enough, we could land it in upstream!
Simon Fraser (smfr)
Comment 28 2019-05-16 09:21:40 PDT
Bug 186698 has a patch to track vector allocation call sites.
Yusuke Suzuki
Comment 29 2019-05-16 14:47:53 PDT
(In reply to Simon Fraser (smfr) from comment #28) > Bug 186698 has a patch to track vector allocation call sites. Nice! I'll also upload the patch with Malloc template parameter to Vector to handle more zones in a fine grained manner. And I introduced VectorMalloc / InstructionStreamMalloc and report InstructionStream memory separately. It turns out (as we all expected :P) InstructionStream (JS bytecode) in Gmail is large.
Yusuke Suzuki
Comment 30 2019-05-16 16:37:01 PDT
Yusuke Suzuki
Comment 31 2019-05-16 16:43:58 PDT
Yusuke Suzuki
Comment 32 2019-05-29 17:21:43 PDT
Created attachment 370901 [details] Patch Rebaseline
EWS Watchlist
Comment 33 2019-05-29 17:24:59 PDT
Attachment 370901 [details] did not pass style-queue: ERROR: Source/WTF/wtf/Platform.h:1183: CPP comments are not allowed in Platform.h, please use C comments /* ... */ [build/cpp_comment] [5] ERROR: Source/WTF/wtf/MallocPtr.h:61: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/MallocPtr.h:183: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WTF/wtf/Vector.cpp:22: You should add a blank line after implementation file's own header. [build/include_order] [4] ERROR: Source/WTF/wtf/DebugHeap.h:26: Use #pragma once instead of #ifndef for header guard. [build/header_guard] [5] ERROR: Source/WTF/wtf/RefCountedArray.cpp:27: You should add a blank line after implementation file's own header. [build/include_order] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:59: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:71: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:83: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/DebugHeap.cpp:165: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.cpp:36: Bad include order. Mixing system and custom headers. [build/include_order] [4] ERROR: Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.cpp:39: "CodeBlock.h" already included at Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.cpp:30 [build/include] [4] ERROR: Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.cpp:145: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.cpp:156: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/WTF/wtf/FastMalloc.cpp:305: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/WTF/wtf/SegmentedVector.h:36: Code inside a namespace should not be indented. [whitespace/indent] [4] ERROR: Source/WTF/wtf/UniqueArray.cpp:22: You should add a blank line after implementation file's own header. [build/include_order] [4] ERROR: Source/WTF/wtf/text/StringBuffer.h:35: Alphabetical sorting problem. [build/include_order] [4] ERROR: Source/bmalloc/bmalloc/Heap.cpp:48: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/Heap.cpp:57: This { should be at the end of the previous line [whitespace/braces] [4] ERROR: Source/bmalloc/bmalloc/Heap.cpp:66: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 21 in 188 files If any of these errors are false positives, please file a bug against check-webkit-style.
Yusuke Suzuki
Comment 34 2019-05-29 22:24:21 PDT
Created attachment 370923 [details] Patch Less ifdef version :)
Yusuke Suzuki
Comment 35 2019-05-29 22:41:49 PDT
Current Gmail memory just after performing full GC. MetadataTable memory is largely reduced. InstructionStream will get significant improvement after https://bugs.webkit.org/show_bug.cgi?id=197979 is landed. VIRTUAL RESIDENT DIRTY SWAPPED ALLOCATION BYTES DIRTY+SWAP REGION MALLOC ZONE SIZE SIZE SIZE SIZE COUNT ALLOCATED FRAG SIZE % FRAG COUNT =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== Vector_0x1111c1000 390.0M 104.8M 71.2M 0K 290313 40.0M 31.2M 44% 83 HashTable_0x110479000 312.0M 60.6M 49.0M 0K 21505 33.9M 15.1M 31% 53 DefaultMallocZone_0x10c05a000 277.0M 21.0M 21.0M 0K 242256 16.3M 4840K 23% 71 StringImpl_0x110ed0000 259.0M 32.4M 31.9M 0K 150175 25.3M 6782K 21% 49 AssemblerData_0x111771000 255.0M 12.2M 12.2M 0K 2 2576 12.2M 100% 47 MetadataTable_0x115ce0000 249.0M 40.8M 31.4M 0K 24924 4684K 26.8M 86% 46 WebKit Using System Malloc_0x110475000 241.0M 38.6M 33.4M 0K 197295 26.5M 7053K 21% 52 InstructionStream_0x115d62000 237.0M 43.0M 29.9M 0K 25204 23.7M 6402K 21% 41 GCSegmentedArray_0x111528000 225.0M 2288K 2288K 0K 33 128K 2160K 95% 29 StringBuffer_0x115a97000 188.0M 2460K 2460K 0K 1 16 2460K 100% 34 WebKit IsoAlignedMemoryAllocator_0x11162c000 185.0M 70.5M 67.9M 0K 3708 57.9M 10.0M 15% 24 SmallPtrSet_0x115c5e000 155.0M 2060K 2060K 0K 1 16 2060K 100% 29 WebKit FastMallocAlignedMemoryAllocator_0x111569000 145.0M 38.9M 38.9M 0K 1927 30.1M 8988K 23% 19 RefCountedArray_0x111465000 141.0M 2744K 2744K 0K 5103 324K 2420K 89% 29 PropertyTable_0x115993000 133.0M 8016K 8000K 0K 8081 3273K 4727K 60% 28 UniqueArray_0x110477000 119.0M 22.5M 22.4M 0K 199975 15.9M 6634K 29% 49 SegmentedVector_0x115a15000 115.0M 7124K 7124K 0K 12647 4425K 2699K 38% 31 TreeResolverScope_0x1156ce000 105.0M 180K 180K 0K 1 32 180K 100% 14 SpeculativeJIT_0x1166fa000 105.0M 116K 116K 0K 1 16 116K 100% 14 IdentifierArena_0x115b5a000 97.0M 108K 108K 0K 1 16 108K 100% 13 ResourceLoader_0x11124c000 97.0M 188K 188K 0K 2 1552 186K 100% 13 CachedResource_0x11124a000 97.0M 412K 412K 0K 206 308K 104K 26% 13 WebKit XMLHttpRequest_0x111254000 97.0M 196K 196K 0K 15 21K 175K 90% 13 ParserArena_0x115bdc000 97.0M 26.2M 26.2M 0K 1 16 26.2M 100% 13 WebKit HTMLDocument_0x1118b6000 65.0M 132K 132K 0K 14 46K 86K 66% 9 HTMLDocumentParser_0x111bfb000 65.0M 88K 88K 0K 1 32 88K 100% 9 WebKit FrameView_0x111875000 65.0M 92K 92K 0K 15 21K 71K 78% 9 DocumentLoader_0x111834000 57.0M 144K 144K 0K 15 49K 95K 66% 8 SourceProviderCacheItem_0x115c1d000 43.0M 3652K 3580K 0K 25 1712 3578K 100% 15 CStringBuffer_0x110ece000 32.0M 240K 240K 0K 71 3168 237K 99% 18 QuartzCore_0x1117f3000 28.0M 288K 288K 0K 697 61K 227K 79% 14 BagNode_0x116574000 27.0M 15.6M 13.3M 0K 72671 4902K 8686K 64% 27 UniqueArrayElement_0x111320000 25.0M 1748K 1748K 0K 38370 1604K 144K 9% 11 WebKit HTMLAudioElement_0x1184d1000 25.0M 40K 40K 0K 4 8K 32K 82% 4 ConcurrentBuffer_0x115911000 21.0M 76K 76K 0K 43 9K 67K 89% 7 CSSValue_0x1113e3000 16.0M 5156K 5156K 0K 143425 4902K 254K 5% 16 DFGNode_0x116678000 15.0M 5616K 5616K 0K 1 16 5616K 100% 15 MetaAllocatorHandle_0x1117b2000 15.0M 1808K 1808K 0K 12628 789K 1019K 57% 15 WeakBlock_0x115952000 15.0M 4112K 4112K 0K 15044 3761K 351K 9% 15 WebKit VM_0x1115eb000 15.0M 92K 92K 0K 13 4K 88K 96% 8 BasicBlock_0x116637000 15.0M 488K 488K 0K 1 16 488K 100% 15 BitVector_0x11673b000 14.0M 168K 168K 0K 1 16 168K 100% 14 Region_0x111bf3000 14.0M 168K 168K 0K 1 16 168K 100% 14 FastBitVector_0x11166d000 14.0M 832K 832K 0K 38527 609K 223K 27% 14 RegisterAtOffsetList_0x111730000 14.0M 196K 196K 0K 1866 29K 167K 86% 14 WebKit CSSComputedStyleDeclaration_0x117906000 14.0M 288K 288K 0K 745 23K 265K 92% 14 SymbolTableEntryFatEntry_0x115a56000 13.0M 1356K 1356K 0K 70030 1094K 262K 20% 13 StringWrapperCFAllocator_0x111202000 13.0M 156K 156K 0K 73 5K 151K 98% 13 MarkedBlockHandle_0x1116ae000 13.0M 1172K 1172K 0K 6624 931K 241K 21% 13 WatchpointSet_0x1158d0000 13.0M 3304K 3304K 0K 95910 2997K 307K 10% 13 DirectJITCode_0x1159d4000 13.0M 1500K 1500K 0K 4079 1032K 468K 32% 13 BytecodeBasicBlock_0x1166b9000 13.0M 1652K 1652K 0K 18774 1467K 185K 12% 13 AccessCase_0x1165b5000 13.0M 1360K 1360K 0K 11870 562K 798K 59% 13 MessageEvent_0x11677c000 12.0M 220K 216K 0K 22 4048 212K 99% 12 ParserArenaRoot_0x115c9f000 12.0M 144K 144K 0K 1 16 144K 100% 12 SerializedScriptValue_0x1167f6000 12.0M 176K 176K 0K 23 2144 174K 99% 12 WebKit HTMLDivElement_0x111256000 12.0M 568K 568K 0K 2852 312K 256K 46% 12 MutableStyleProperties_0x1114e7000 12.0M 308K 308K 0K 947 89K 219K 72% 12 ElementData_0x115ee8000 12.0M 396K 396K 0K 1086 136K 260K 66% 12 CodeBlockRareData_0x11124e000 12.0M 224K 224K 0K 195 18K 206K 92% 12 PolymorphicAccess_0x1165f6000 12.0M 956K 956K 0K 5630 352K 604K 64% 12 NodeRareData_0x115f29000 12.0M 512K 512K 0K 2175 305K 207K 41% 12 WebKit InlineCSSStyleDeclaration_0x11758d000 12.0M 204K 204K 0K 512 24K 180K 89% 12 BytecodeGenerator_0x115d21000 12.0M 144K 144K 0K 1 32 144K 100% 12 MetaAllocatorFreeSpace_0x110ecc000 11.0M 628K 628K 0K 4037 189K 439K 70% 11 Watchpoint_0x115da3000 11.0M 340K 340K 0K 3874 121K 219K 65% 11 PerformanceEntry_0x116533000 11.0M 212K 212K 0K 208 78K 134K 64% 11 ImmutableStyleProperties_0x111361000 10.0M 3888K 3888K 0K 37691 3734K 154K 4% 10 SourceProviderCache_0x115b9b000 10.0M 120K 120K 0K 6 192 120K 100% 10 StringSourceProvider_0x1115aa000 10.0M 148K 148K 0K 290 32K 116K 79% 10 StyleRule_0x1113a2000 9216K 1264K 1264K 0K 36867 1152K 112K 9% 9 CSSSelectorRareData_0x111424000 9216K 164K 164K 0K 679 53K 111K 68% 9 StyleRuleBase_0x1112df000 9216K 148K 144K 0K 1098 39K 105K 74% 9 WebKit SVGDocument_0x117512000 9216K 24K 24K 0K 3 7K 17K 71% 2 WebKit HTMLScriptElement_0x115fec000 9216K 116K 116K 0K 99 17K 99K 86% 9 RuleSet_0x11129e000 9216K 196K 196K 0K 87 58K 138K 71% 9 RuleDataVector_0x1114a6000 8192K 1200K 1200K 0K 19878 932K 268K 23% 8 StyleRareInheritedData_0x111a7d000 8192K 292K 292K 0K 277 73K 219K 75% 8 ShareableElementData_0x115b19000 8192K 284K 284K 0K 1853 137K 147K 52% 8 NodeListsNodeData_0x1167ae000 8192K 124K 124K 0K 158 15K 109K 89% 8 WebKit RenderBlockFlow_0x115791000 8192K 640K 640K 0K 1918 509K 131K 21% 8 WebKit DOMWindow_0x111938000 8192K 96K 96K 0K 16 5K 91K 95% 8 StyleSurroundData_0x1119ba000 8192K 1152K 1152K 0K 1268 297K 855K 75% 8 StyleResolver_0x111bf9000 8192K 100K 100K 0K 16 14K 86K 87% 8 RenderStyle_0x11570f000 8192K 1336K 1336K 0K 1282 120K 1216K 92% 8 StyleRareNonInheritedData_0x1119fb000 8192K 2628K 2508K 0K 1505 729K 1779K 71% 8 WebKit Text_0x115ea7000 8192K 252K 252K 0K 1895 148K 104K 42% 8 FontCascadeFonts_0x111bf5000 8192K 120K 120K 0K 86 19K 101K 85% 8 WebKit RenderView_0x111ac4000 8192K 96K 96K 0K 15 9K 87K 91% 8 StyleInheritedData_0x111abe000 8192K 988K 988K 0K 1635 255K 733K 75% 8 RenderLayer_0x111bf7000 8192K 844K 844K 0K 2138 735K 109K 13% 8 WebKit HTMLTagCollection_0x117fa3000 8192K 96K 96K 0K 28 6K 90K 94% 8 StyleBoxData_0x111979000 8192K 544K 544K 0K 1686 132K 412K 76% 8 QualifiedNameQualifiedNameImpl_0x11125d000 8192K 144K 144K 0K 1081 51K 93K 65% 8 WebKit HTMLHtmlElement_0x111bfd000 8192K 96K 96K 0K 14 1488 95K 99% 8 WebKit UndoManager_0x1118f7000 8192K 96K 96K 0K 16 752 95K 100% 8 WebKit HTMLHeadElement_0x11564c000 7168K 84K 84K 0K 14 1488 83K 99% 7 WebKit HTMLBodyElement_0x11568d000 7168K 84K 84K 0K 14 1488 83K 99% 7 BlockDirectory_0x1116ef000 7168K 100K 100K 0K 89 23K 77K 77% 7 SVGRenderStyle_0x111ac0000 6144K 72K 72K 0K 30 2800 69K 97% 6 StyleTransformData_0x111a3c000 6144K 72K 72K 0K 32 1520 71K 98% 6 WebKit VisualViewport_0x1157d2000 6144K 72K 72K 0K 13 1952 70K 98% 6 WebKit Location_0x115de4000 6144K 72K 72K 0K 14 432 72K 100% 6 WebKit InlineTextBox_0x1167a8000 6144K 216K 216K 0K 584 55K 161K 75% 6 WebKit ClassCollection_0x117b90000 6144K 124K 124K 0K 216 50K 74K 60% 6 WebKit ChildNodeList_0x1176bd000 6144K 80K 80K 0K 1 32 80K 100% 6 WebKit RootInlineBox_0x1167aa000 6144K 336K 336K 0K 606 104K 232K 70% 6 WebKit Storage_0x111252000 6144K 72K 72K 0K 8 240 72K 100% 6 WebKit DocumentType_0x115ad8000 6144K 72K 72K 0K 11 992 71K 99% 6 WebKit HTMLStyleElement_0x115fab000 6144K 72K 72K 0K 16 2432 70K 97% 6 WebKit InlineElementBox_0x1167ac000 6144K 72K 72K 0K 43 2720 69K 97% 6 WebKit StaticElementList_0x1167b2000 6144K 72K 72K 0K 2 80 72K 100% 6 StyleFillData_0x111ac2000 6144K 72K 72K 0K 21 976 71K 99% 6 WebKit DOMRectReadOnly_0x11767c000 6144K 88K 88K 0K 1 32 88K 100% 6 WebKit HTMLImageElement_0x117a8c000 6144K 112K 112K 0K 121 38K 74K 67% 6 WebKit Performance_0x111248000 6144K 72K 72K 0K 13 3680 68K 96% 6 WebKit DocumentFragment_0x1169c6000 6144K 72K 72K 0K 1 32 72K 100% 6 Font_0x115750000 5120K 128K 128K 0K 60 35K 93K 73% 5 WebKit Navigator_0x111250000 5120K 60K 60K 0K 9 928 59K 99% 5 WebKit HTMLAnchorElement_0x1162ad000 5120K 100K 100K 0K 175 24K 76K 76% 5 WebKit HTMLIFrameElement_0x1175fa000 5120K 60K 60K 0K 12 3024 57K 96% 5 WebKit RenderText_0x1164f2000 5120K 140K 140K 0K 617 67K 73K 52% 5 WebKit InlineFlowBox_0x1182ac000 5120K 60K 60K 0K 3 256 60K 100% 5 WebKit RenderImage_0x117c94000 5120K 60K 60K 0K 14 3360 57K 95% 5 WebKit HTMLTableCellElement_0x117884000 5120K 176K 176K 0K 1011 110K 66K 38% 5 WebKit HTMLSpanElement_0x1176fe000 5120K 244K 244K 0K 1545 169K 75K 31% 5 WebKit SVGSVGElement_0x1179c9000 4096K 48K 48K 0K 18 7K 41K 87% 4 WebKit RenderTableCell_0x117dd9000 4096K 48K 48K 0K 12 3200 45K 94% 4 WebKit RenderIFrame_0x11763b000 4096K 48K 48K 0K 7 1664 46K 97% 4 SMILTimeContainer_0x117a0a000 4096K 48K 48K 0K 18 2480 46K 95% 4 WebKit HTMLMetaElement_0x115e25000 4096K 48K 48K 0K 15 1600 46K 97% 4 WebKit PseudoElement_0x11642f000 4096K 140K 140K 0K 713 89K 51K 37% 4 WebKit_GenericChildrenOnlyCachedHTMLCollection_0x117f62000 4096K 48K 48K 0K 12 1104 47K 98% 4 WebKit EllipsisBox_0x1175f8000 4096K 92K 92K 0K 179 14K 78K 85% 4 WebKit RenderTableSection_0x117e9c000 4096K 48K 48K 0K 6 1712 46K 97% 4 WebKit RenderScrollbarPart_0x117f1e000 4096K 48K 48K 0K 27 6K 42K 88% 4 WebKit RenderTableRow_0x117edd000 4096K 48K 48K 0K 12 2672 45K 95% 4 WebKit SVGPathElement_0x117a4b000 4096K 52K 52K 0K 32 10K 42K 82% 4 WebKit HTMLLinkElement_0x115f6a000 4096K 48K 48K 0K 11 2752 45K 95% 4 WebKit RenderSVGPath_0x117c53000 4096K 52K 52K 0K 21 6K 46K 88% 4 CSSFontFace_0x11125a000 4096K 72K 72K 0K 78 16K 56K 79% 4 WebKit RenderTable_0x117e1a000 4096K 48K 48K 0K 7 2432 46K 96% 4 WebKit RenderImageResource_0x117cd5000 4096K 48K 48K 0K 12 384 48K 100% 4 WebKit RenderTextFragment_0x1164b1000 4096K 148K 148K 0K 712 100K 48K 33% 4 WebKit HTMLTableElement_0x1177c1000 4096K 48K 48K 0K 7 800 47K 99% 4 WebKit RenderInline_0x117780000 4096K 120K 120K 0K 374 70K 50K 42% 4 WebKit HTMLTableSectionElement_0x117802000 4096K 48K 48K 0K 6 592 47K 99% 4 WebKit HTMLTableRowElement_0x117843000 4096K 60K 60K 0K 105 11K 49K 81% 4 TableLayout_0x117e5b000 4096K 48K 48K 0K 7 400 48K 100% 4 WebKit MessagePort_0x118224000 4096K 48K 48K 0K 13 1952 46K 97% 4 WebKit HTMLElement_0x11622b000 4096K 48K 48K 0K 8 816 47K 99% 4 WebKit RenderSVGRoot_0x117c12000 4096K 48K 48K 0K 11 4K 44K 91% 4 WebKit HTMLLIElement_0x11632f000 4096K 100K 100K 0K 442 48K 52K 52% 4 WebKit TextControlInnerTextElement_0x116370000 3072K 36K 36K 0K 4 384 36K 99% 3 WebKit TrailingFloatsRootInlineBox_0x1182f0000 3072K 36K 36K 0K 2 224 36K 100% 3 WebKit ShadowRoot_0x1161ea000 3072K 36K 36K 0K 10 1904 34K 95% 3 WebKit HTMLHeadingElement_0x117553000 3072K 36K 36K 0K 7 704 35K 99% 3 WebKit HTMLButtonElement_0x117acd000 3072K 36K 36K 0K 11 1792 34K 96% 3 WebKit HTMLInputElement_0x1161a9000 3072K 36K 36K 0K 10 2192 34K 95% 3 WebKit HTMLBaseElement_0x111258000 3072K 36K 36K 0K 4 368 36K 100% 3 WebKit HTMLUListElement_0x117b4f000 3072K 52K 52K 0K 105 11K 41K 79% 3 WebKit DOMPluginArray_0x117583000 3072K 36K 36K 0K 4 128 36K 100% 3 WebKit RenderFlexibleBox_0x11773f000 3072K 628K 628K 0K 1617 581K 47K 8% 3 WebKit AllDescendantsCollection_0x117988000 3072K 36K 36K 0K 10 2048 34K 95% 3 WebKit HTMLBRElement_0x1178c5000 3072K 36K 36K 0K 7 704 35K 99% 3 WebKit IDBDatabase_0x118265000 3072K 36K 36K 0K 1 32 36K 100% 3 WebKit Screen_0x1181e3000 3072K 36K 36K 0K 5 144 36K 100% 3 WebKit IDBOpenDBRequest_0x118268000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit HTMLFormControlsCollection_0x117557000 2048K 24K 24K 0K 1 48 24K 100% 2 WebKit HTMLCanvasElement_0x1184cd000 2048K 24K 24K 0K 3 480 24K 99% 2 WebKit HTMLFormElement_0x116168000 2048K 24K 24K 0K 5 992 23K 96% 2 WebKit ServiceWorkerContainer_0x1167b5000 2048K 24K 24K 0K 3 544 23K 98% 2 WebKit_GenericDescendantsCachedHTMLCollection_0x1167b0000 2048K 24K 24K 0K 6 1168 23K 96% 2 WebKit RenderImageResourceStyleImage_0x117d98000 2048K 24K 24K 0K 3 144 24K 100% 2 WebKit CanvasRenderingContext2D_0x1184cf000 2048K 24K 24K 0K 3 960 23K 97% 2 WebKit HTMLTableRowsCollection_0x117587000 2048K 24K 24K 0K 4 272 24K 99% 2 WebKit DOMMimeTypeArray_0x117585000 2048K 24K 24K 0K 4 128 24K 100% 2 WebKit RenderButton_0x116470000 2048K 24K 24K 0K 8 2720 21K 89% 2 WebKit HTMLTitleElement_0x115e66000 2048K 24K 24K 0K 4 416 24K 99% 2 WebKit RenderTextControlInnerBlock_0x117d57000 1024K 12K 12K 0K 2 320 12K 98% 1 WebKit History_0x11842f000 1024K 12K 12K 0K 3 176 12K 99% 1 WebKit_SimulatedMouseEvent_0x1184db000 1024K 12K 12K 0K 2 224 12K 99% 1 WebKit HTMLUnknownElement_0x1184b6000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit IDBTransaction_0x1182a9000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit HTMLTableColElement_0x117589000 1024K 12K 12K 0K 12 1264 11K 90% 1 WebKit RenderTableCol_0x11758b000 1024K 12K 12K 0K 12 2672 9K 79% 1 WebKit IDBRequest_0x1182c3000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit MutationObserver_0x117555000 1024K 12K 12K 0K 2 128 12K 99% 1 WebKit SVGGElement_0x118432000 1024K 12K 12K 0K 3 640 11K 95% 1 WebKit HTMLHRElement_0x117947000 1024K 12K 12K 0K 2 144 12K 99% 1 WebKit SVGRectElement_0x118473000 1024K 12K 12K 0K 5 1504 11K 88% 1 WebKit TextControlPlaceholderElement_0x117b0e000 1024K 12K 12K 0K 2 160 12K 99% 1 WebKit RenderLineBreak_0x117bd1000 1024K 12K 12K 0K 4 608 11K 96% 1 WebKit HTMLOListElement_0x1162ee000 1024K 12K 12K 0K 2 160 12K 99% 1 WebKit BarProp_0x1183ee000 1024K 12K 12K 0K 2 48 12K 100% 1 WebKit RenderTextControlSingleLine_0x117d16000 1024K 12K 12K 0K 2 320 12K 98% 1 WebKit AbortSignal_0x1184b4000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit HTMLParagraphElement_0x11626c000 1024K 12K 12K 0K 2 144 12K 99% 1 WebKit TrackListBase_0x1181c7000 1024K 12K 12K 0K 4 752 11K 94% 1 DefaultPurgeableMallocZone_0x117f5f000 44K 44K 44K 0K 1 40K 4K 10% 2 =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== TOTAL 5.7G 615.6M 536.9M 0K 1860132 319.2M 217.8M 41% 1955
Yusuke Suzuki
Comment 36 2019-05-30 01:20:11 PDT
Created attachment 370927 [details] Patch More less-ifdef version, I think it is now close to be landed to upstream, and personally I want to do that because of maintenance
Yusuke Suzuki
Comment 37 2019-05-30 02:31:22 PDT
Yusuke Suzuki
Comment 38 2019-05-30 17:07:03 PDT
Yusuke Suzuki
Comment 39 2019-05-30 18:59:42 PDT
JSC GC IsoSubspace is now integrated (b/c I saw IsoSubspace allocates huge memory now). VIRTUAL RESIDENT DIRTY SWAPPED ALLOCATION BYTES DIRTY+SWAP REGION MALLOC ZONE SIZE SIZE SIZE SIZE COUNT ALLOCATED FRAG SIZE % FRAG COUNT =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== Vector_0x111892000 213.0M 107.0M 65.6M 0K 276202 38.1M 27.5M 42% 42 HashTable_0x110e2a000 183.0M 59.0M 43.6M 0K 20123 33.2M 10.3M 24% 27 StringImpl_0x111890000 161.0M 32.6M 30.9M 0K 147270 25.2M 5884K 19% 26 DefaultMallocZone_0x10ca29000 159.0M 25.2M 24.6M 0K 232456 16.4M 8401K 34% 26 AssemblerData_0x113f88000 158.0M 11.8M 11.8M 0K 1 16 11.8M 100% 23 MetadataTable_0x1144c7000 156.0M 40.1M 29.9M 0K 23955 4000K 26.0M 87% 30 StringBuffer_0x114357000 150.0M 2948K 2948K 0K 1 16 2948K 100% 23 InstructionStream_0x1144f5000 150.0M 23.1M 19.1M 0K 24265 15.0M 4167K 22% 24 SmallPtrSet_0x11451a000 134.0M 1768K 1768K 0K 1 16 1768K 100% 22 WebKit Using System Malloc_0x10ca2b000 124.0M 32.5M 29.1M 0K 188368 22.9M 6281K 22% 25 RefCountedArray_0x113da5000 102.0M 2556K 2556K 0K 4391 275K 2281K 90% 18 PropertyTable_0x1142f5000 102.0M 5856K 5856K 0K 6973 2703K 3153K 54% 18 WebKit FastMallocAlignedMemoryAllocator_0x113e01000 81.0M 34.0M 34.0M 0K 1729 27.0M 7208K 21% 11 UniqueArray_0x10ce99000 78.0M 21.0M 20.4M 0K 183249 15.0M 5557K 27% 28 ParserArena_0x114482000 57.0M 29.1M 21.2M 0K 1 16 21.2M 100% 8 SegmentedVector_0x114329000 56.0M 6448K 6448K 0K 10931 3915K 2533K 40% 13 ResourceLoader_0x113ce8000 49.0M 124K 124K 0K 2 1552 122K 99% 7 DocumentLoader_0x113fe4000 49.0M 128K 128K 0K 15 49K 79K 62% 7 Isolated Structure Space_0x113ea2000 49.0M 14.5M 14.5M 0K 774 12.1M 2476K 17% 7 Isolated CodeBlock Space_0x113eb9000 49.0M 8900K 8900K 0K 415 6624K 2276K 26% 7 Isolated StructureRareData Space_0x113e8b000 49.0M 4440K 4440K 0K 257 4096K 344K 8% 7 Isolated JSBoundFunction Space_0x1145d2000 49.0M 592K 592K 0K 15 224K 368K 63% 7 WebKit FrameView_0x113ffb000 49.0M 80K 80K 0K 15 21K 59K 74% 7 GCSegmentedArray_0x113dea000 49.0M 1552K 1552K 0K 48 188K 1364K 88% 3 Isolated FunctionExecutable Space_0x113ed0000 49.0M 14.0M 14.0M 0K 742 11.6M 2464K 18% 7 Isolated ExecutableToCodeBlockEdge Space_0x113e18000 49.0M 528K 528K 0K 29 448K 80K 16% 7 CachedResource_0x113ce6000 49.0M 360K 360K 0K 203 303K 57K 16% 7 Isolated UnlinkedFunctionExecutable Space_0x113efe000 49.0M 9464K 9464K 0K 508 8112K 1352K 15% 7 IdentifierArena_0x114454000 49.0M 60K 60K 0K 1 16 60K 100% 7 HTMLDocumentParser_0x114182000 49.0M 72K 72K 0K 1 32 72K 100% 7 TreeResolverScope_0x1141de000 49.0M 104K 104K 0K 1 32 104K 100% 7 WebKit HTMLDocument_0x114012000 49.0M 120K 120K 0K 14 46K 74K 63% 7 Isolated InferredValue Space_0x1142b0000 49.0M 3392K 3392K 0K 198 3152K 240K 8% 7 Isolated JSFunction Space_0x113e2f000 49.0M 10.1M 10.1M 0K 441 7040K 3344K 33% 7 SpeculativeJIT_0x1148ed000 49.0M 60K 60K 0K 1 16 60K 100% 7 Isolated PropertyTable Space_0x113e74000 49.0M 648K 648K 0K 36 560K 88K 14% 7 WebKit XMLHttpRequest_0x1145e9000 49.0M 108K 108K 0K 6 8K 100K 94% 7 SourceProviderCacheItem_0x114499000 47.0M 3904K 2900K 0K 3 144 2900K 100% 12 ConcurrentBuffer_0x1142c7000 29.0M 84K 84K 0K 43 9K 75K 90% 8 Isolated NativeExecutable Space_0x113e5d000 25.0M 92K 92K 0K 5 64K 28K 31% 4 WebKit HTMLAudioElement_0x115b34000 25.0M 40K 40K 0K 4 8K 32K 82% 3 CStringBuffer_0x111888000 22.0M 120K 120K 0K 67 2976 117K 98% 7 QuartzCore_0x113fcd000 22.0M 236K 236K 0K 1631 122K 114K 49% 8 UniqueArrayElement_0x113d32000 22.0M 1700K 1700K 0K 38360 1603K 97K 6% 8 BagNode_0x11484c000 18.0M 15.3M 9.8M 0K 60750 3980K 6048K 61% 14 Isolated InternalFunction Space_0x113e46000 17.0M 72K 72K 0K 3 32K 40K 56% 3 VM_0x114891000 14.0M 80K 80K 0K 6 3920 76K 96% 7 Isolated JSCallbackFunction Space_0x1158d7000 9216K 36K 36K 0K 1 48 36K 100% 2 Isolated ProgramExecutable Space_0x113ee7000 9216K 32K 32K 0K 2 16K 16K 50% 2 WebKit SVGDocument_0x1158f5000 9216K 24K 24K 0K 3 7K 17K 71% 2 Isolated JSCustomGetterSetterFunction Space_0x1158d5000 9216K 32K 32K 0K 2 16K 16K 50% 2 Isolated ErrorInstance Space_0x114932000 9216K 52K 52K 0K 2 16K 36K 70% 2 CSSValue_0x113d77000 9216K 5020K 5020K 0K 142759 4883K 137K 3% 9 Isolated JSWeakMap Space_0x11455f000 9216K 32K 32K 0K 2 16K 16K 50% 2 Isolated EvalExecutable Space_0x115a09000 9216K 32K 32K 0K 2 16K 16K 50% 2 ImmutableStyleProperties_0x113d49000 7168K 3844K 3844K 0K 37638 3731K 113K 3% 7 StyleRareNonInheritedData_0x114085000 7168K 2660K 1656K 0K 1515 733K 923K 56% 7 WatchpointSet_0x113cea000 7168K 3028K 3028K 0K 89982 2812K 216K 8% 7 StyleRule_0x113d60000 6144K 1208K 1208K 0K 36856 1152K 56K 5% 6 RenderLayer_0x114154000 6144K 912K 912K 0K 2139 735K 177K 20% 6 BytecodeGenerator_0x1144de000 6144K 72K 72K 0K 1 32 72K 100% 6 StyleBoxData_0x114057000 6144K 516K 516K 0K 1683 131K 385K 75% 6 WebKit DOMRectReadOnly_0x115551000 6144K 96K 96K 0K 1 32 96K 100% 6 SymbolTableEntryFatEntry_0x114340000 6144K 1160K 1160K 0K 65370 1021K 139K 12% 6 WebKit RenderInline_0x1155ad000 6144K 144K 144K 0K 377 71K 73K 52% 6 StyleSurroundData_0x11406e000 6144K 1116K 1116K 0K 1264 296K 820K 74% 6 WeakBlock_0x1142de000 6144K 3792K 3792K 0K 14697 3674K 118K 4% 6 RuleSet_0x113d04000 6144K 124K 124K 0K 75 50K 74K 60% 6 WebKit HTMLStyleElement_0x114426000 6144K 72K 72K 0K 16 2432 70K 97% 6 WebKit HTMLSpanElement_0x11557f000 6144K 244K 244K 0K 1557 170K 74K 31% 6 PolymorphicAccess_0x11487a000 6144K 848K 848K 0K 4938 309K 539K 64% 6 WebKit VisualViewport_0x11423a000 6144K 72K 72K 0K 13 1952 70K 98% 6 StyleRuleBase_0x113d1b000 6144K 96K 96K 0K 1046 37K 59K 62% 6 StringWrapperCFAllocator_0x112ffe000 6144K 72K 72K 0K 87 5K 67K 93% 6 WebKit CSSComputedStyleDeclaration_0x115637000 6144K 108K 108K 0K 217 7K 101K 94% 6 StyleResolver_0x11416b000 6144K 76K 76K 0K 16 14K 62K 82% 6 NodeListsNodeData_0x1149a5000 6144K 88K 88K 0K 153 14K 74K 84% 6 WebKit StaticElementList_0x1149d3000 6144K 72K 72K 0K 2 80 72K 100% 6 WebKit RenderScrollbarPart_0x11585f000 6144K 72K 72K 0K 27 6K 66K 92% 6 ParserArenaRoot_0x1144b0000 6144K 72K 72K 0K 1 16 72K 100% 6 BitVector_0x114904000 6144K 72K 72K 0K 1 16 72K 100% 6 MarkedBlockHandle_0x113f2c000 6144K 956K 956K 0K 6144 864K 92K 10% 6 MetaAllocatorFreeSpace_0x111886000 6144K 364K 364K 0K 4223 198K 166K 46% 6 WebKit HTMLHeadElement_0x1141b0000 6144K 72K 72K 0K 14 1488 71K 98% 6 RegisterAtOffsetList_0x113f71000 6144K 96K 96K 0K 1730 27K 69K 72% 6 WebKit HTMLDivElement_0x11430c000 6144K 392K 392K 0K 2666 292K 100K 26% 6 WebKit UndoManager_0x114029000 6144K 72K 72K 0K 16 752 71K 99% 6 CodeBlockRareData_0x114531000 6144K 148K 148K 0K 153 14K 134K 91% 6 WebKit DocumentFragment_0x1149ea000 6144K 72K 72K 0K 1 32 72K 100% 6 MetaAllocatorHandle_0x113f9f000 6144K 1560K 1560K 0K 11226 702K 858K 56% 6 StyleRareInheritedData_0x1140b3000 6144K 268K 268K 0K 278 74K 194K 73% 6 CSSSelectorRareData_0x113d8e000 6144K 112K 112K 0K 679 53K 59K 53% 6 WebKit RenderImageResource_0x115790000 6144K 72K 72K 0K 13 416 72K 100% 6 StyleInheritedData_0x1140ca000 6144K 948K 948K 0K 1603 250K 698K 74% 6 WebKit HTMLBodyElement_0x1141c7000 6144K 72K 72K 0K 14 1488 71K 98% 6 QualifiedNameQualifiedNameImpl_0x113ced000 6144K 116K 116K 0K 1081 51K 65K 57% 6 WebKit InlineCSSStyleDeclaration_0x11550c000 6144K 92K 92K 0K 363 17K 75K 82% 6 SerializedScriptValue_0x114251000 6144K 80K 80K 0K 17 1568 78K 99% 6 PerformanceEntry_0x1147d9000 6144K 140K 140K 0K 202 75K 65K 47% 6 FontCascadeFonts_0x11413d000 6144K 92K 92K 0K 80 17K 75K 82% 6 BytecodeBasicBlock_0x1148d6000 6144K 1436K 1436K 0K 17514 1368K 68K 5% 6 Watchpoint_0x114576000 6144K 240K 240K 0K 3788 118K 122K 51% 6 RenderStyle_0x1141f5000 6144K 1400K 1400K 0K 1272 119K 1281K 92% 6 Region_0x114126000 6144K 72K 72K 0K 1 16 72K 100% 6 WebKit RenderTextFragment_0x11481e000 6144K 180K 180K 0K 710 100K 80K 45% 6 MessageEvent_0x114949000 6144K 100K 100K 0K 15 2704 97K 98% 6 Font_0x11420c000 6144K 128K 128K 0K 60 35K 93K 73% 4 StringSourceProvider_0x113f15000 6144K 92K 92K 0K 274 30K 62K 68% 5 WebKit Text_0x1143ca000 6144K 220K 220K 0K 1896 148K 72K 33% 6 WebKit RenderFlexibleBox_0x115596000 6144K 704K 704K 0K 1616 580K 124K 18% 6 StructureVector_0x114548000 6144K 344K 344K 0K 7931 282K 62K 18% 6 WebKit InlineElementBox_0x11498e000 6144K 72K 72K 0K 44 2784 69K 97% 6 WebKit RenderView_0x11410f000 6144K 72K 72K 0K 15 9K 63K 88% 6 DFGNode_0x1148bf000 6144K 3780K 3780K 0K 1 16 3780K 100% 6 BasicBlock_0x1148a8000 6144K 260K 260K 0K 1 16 260K 100% 6 SourceProviderCache_0x11446b000 6144K 72K 72K 0K 3 96 72K 100% 6 WebKit ClassCollection_0x11571d000 6144K 108K 108K 0K 216 50K 58K 54% 6 WebKit Location_0x1145a4000 6144K 72K 72K 0K 12 368 72K 100% 6 WebKit RenderText_0x114835000 6144K 152K 152K 0K 620 68K 84K 56% 6 DirectJITCode_0x114312000 6144K 1336K 1336K 0K 3757 960K 376K 29% 6 WebKit HTMLScriptElement_0x11443d000 6144K 76K 76K 0K 99 17K 59K 78% 6 BlockDirectory_0x113f5a000 6144K 88K 88K 0K 83 22K 66K 76% 6 SVGRenderStyle_0x1140e1000 6144K 72K 72K 0K 30 2800 69K 97% 6 WebKit RootInlineBox_0x114977000 6144K 312K 312K 0K 605 104K 208K 67% 6 WebKit RenderBlockFlow_0x114223000 6144K 716K 716K 0K 1914 508K 208K 30% 6 WebKit ChildNodeList_0x115568000 6144K 76K 76K 0K 1 32 76K 100% 6 ElementData_0x1143e1000 6144K 208K 208K 0K 902 113K 95K 46% 6 WebKit RenderImage_0x115779000 6144K 72K 72K 0K 15 3616 68K 96% 6 RuleDataVector_0x113dbc000 6144K 1508K 1508K 0K 19867 931K 577K 39% 6 WebKit HTMLAnchorElement_0x114688000 6144K 100K 100K 0K 174 24K 76K 76% 6 MutableStyleProperties_0x113dd3000 6144K 156K 156K 0K 799 75K 81K 53% 6 NodeRareData_0x1143f8000 6144K 384K 384K 0K 2106 295K 89K 24% 6 StyleTransformData_0x11409c000 6144K 72K 72K 0K 32 1520 71K 98% 6 WebKit DOMWindow_0x114040000 6144K 72K 72K 0K 16 5K 67K 93% 6 StyleFillData_0x1140f8000 6144K 72K 72K 0K 21 976 71K 99% 6 FastBitVector_0x113f43000 6144K 656K 656K 0K 35935 567K 89K 14% 6 WebKit PseudoElement_0x1147f0000 6144K 172K 172K 0K 711 89K 83K 49% 6 ShareableElementData_0x114385000 6144K 256K 256K 0K 1856 137K 119K 47% 6 WebKit InlineTextBox_0x114960000 6144K 196K 196K 0K 585 55K 141K 73% 6 AccessCase_0x114863000 6144K 1160K 1160K 0K 9887 468K 692K 60% 6 WebKit HTMLHtmlElement_0x114199000 6144K 72K 72K 0K 14 1488 71K 98% 6 WebKit MessagePort_0x1159f2000 5120K 60K 60K 0K 13 1952 58K 97% 5 WebKit HTMLIFrameElement_0x115523000 5120K 60K 60K 0K 13 3296 57K 95% 5 CSSFontFace_0x114292000 5120K 76K 76K 0K 78 16K 60K 80% 4 WebKit Performance_0x114310000 5120K 60K 60K 0K 14 3984 56K 94% 5 WebKit HTMLHeadingElement_0x1158a7000 5120K 60K 60K 0K 7 704 59K 99% 5 WebKit HTMLTagCollection_0x115890000 5120K 60K 60K 0K 17 3872 56K 94% 5 WebKit AllDescendantsCollection_0x115665000 5120K 60K 60K 0K 10 2048 58K 97% 5 WebKit HTMLImageElement_0x1156c1000 5120K 96K 96K 0K 123 38K 58K 61% 5 WebKit EllipsisBox_0x115928000 5120K 80K 80K 0K 180 14K 66K 83% 5 WebKit DocumentType_0x11436e000 5120K 60K 60K 0K 11 992 59K 99% 5 WebKit HTMLMetaElement_0x11439c000 4096K 48K 48K 0K 15 1600 46K 97% 4 WebKit Storage_0x1145bb000 4096K 48K 48K 0K 8 240 48K 100% 4 WebKit HTMLTableCellElement_0x115609000 4096K 164K 164K 0K 1011 110K 54K 33% 4 WebKit_GenericChildrenOnlyCachedHTMLCollection_0x115879000 4096K 48K 48K 0K 12 1104 47K 98% 4 WebKit SVGSVGElement_0x11567c000 4096K 48K 48K 0K 18 7K 41K 87% 4 SMILTimeContainer_0x115693000 4096K 48K 48K 0K 18 2480 46K 95% 4 WebKit RenderSVGPath_0x115762000 4096K 48K 48K 0K 21 6K 42K 87% 4 WebKit RenderImageResourceStyleImage_0x1157d5000 4096K 48K 48K 0K 3 144 48K 100% 4 WebKit HTMLTableSectionElement_0x1155db000 4096K 48K 48K 0K 6 592 47K 99% 4 WebKit SVGPathElement_0x1156aa000 4096K 48K 48K 0K 32 10K 38K 80% 4 WebKit HTMLTableRowElement_0x1155f2000 4096K 56K 56K 0K 105 11K 45K 80% 4 WebKit RenderSVGRoot_0x11574b000 4096K 48K 48K 0K 11 4K 44K 91% 4 WebKit InlineFlowBox_0x115a0f000 4096K 48K 48K 0K 3 256 48K 100% 4 WebKit HTMLFormControlsCollection_0x115876000 4096K 48K 48K 0K 1 48 48K 100% 4 WebKit HTMLTableElement_0x1155c4000 4096K 48K 48K 0K 7 800 47K 99% 4 WebKit Screen_0x115a91000 4096K 48K 48K 0K 5 144 48K 100% 4 WebKit RenderButton_0x114807000 3072K 36K 36K 0K 8 2720 33K 93% 3 WebKit RenderTableCell_0x1157ec000 3072K 36K 36K 0K 12 3200 33K 92% 3 WebKit RenderTableRow_0x115848000 3072K 36K 36K 0K 12 2672 33K 93% 3 WebKit RenderIFrame_0x11553a000 3072K 36K 36K 0K 8 1936 34K 95% 3 WebKit HTMLLIElement_0x11468c000 3072K 84K 84K 0K 442 48K 36K 43% 3 WebKit Navigator_0x11458d000 3072K 36K 36K 0K 9 928 35K 98% 3 WebKit RenderTableSection_0x115831000 3072K 36K 36K 0K 6 1712 34K 96% 3 WebKit ShadowRoot_0x114643000 3072K 36K 36K 0K 10 1904 34K 95% 3 WebKit HTMLInputElement_0x11462c000 3072K 36K 36K 0K 10 2192 34K 95% 3 WebKit HTMLUListElement_0x115706000 3072K 44K 44K 0K 105 11K 33K 75% 3 WebKit HTMLTableRowsCollection_0x1158be000 3072K 36K 36K 0K 4 272 36K 100% 3 WebKit HTMLButtonElement_0x1156d8000 3072K 36K 36K 0K 11 1792 34K 96% 3 WebKit HTMLLinkElement_0x11440f000 3072K 36K 36K 0K 11 2752 33K 93% 3 TableLayout_0x11581a000 3072K 36K 36K 0K 7 400 36K 99% 3 WebKit RenderTable_0x115803000 3072K 36K 36K 0K 7 2432 34K 94% 3 WebKit HTMLElement_0x11465a000 3072K 36K 36K 0K 8 816 35K 98% 3 WebKit HTMLBRElement_0x115620000 3072K 36K 36K 0K 7 704 35K 99% 3 WebKit TextControlInnerTextElement_0x11468e000 3072K 36K 36K 0K 4 384 36K 99% 3 WebKit HTMLBaseElement_0x11430e000 3072K 36K 36K 0K 4 368 36K 100% 3 WebKit_GenericDescendantsCachedHTMLCollection_0x1149bc000 2048K 24K 24K 0K 6 1168 23K 96% 2 WebKit TrailingFloatsRootInlineBox_0x115a26000 2048K 24K 24K 0K 2 224 24K 100% 2 WebKit DOMMimeTypeArray_0x115958000 2048K 24K 24K 0K 4 128 24K 100% 2 WebKit DOMPluginArray_0x115941000 2048K 24K 24K 0K 4 128 24K 100% 2 WebKit HTMLFormElement_0x114615000 2048K 24K 24K 0K 5 992 23K 96% 2 WebKit ServiceWorkerContainer_0x11491b000 2048K 24K 24K 0K 3 544 23K 98% 2 WebKit IDBOpenDBRequest_0x1159db000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit IDBDatabase_0x1159d8000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit HTMLTitleElement_0x1143b3000 2048K 24K 24K 0K 4 416 24K 99% 2 WebKit RenderTextControlInnerBlock_0x1157be000 1024K 12K 12K 0K 2 320 12K 98% 1 WebKit HTMLUnknownElement_0x115b04000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit HTMLHRElement_0x11564e000 1024K 12K 12K 0K 2 144 12K 99% 1 WebKit RenderTextControlSingleLine_0x1157a7000 1024K 12K 12K 0K 2 320 12K 98% 1 WebKit SVGGElement_0x115abf000 1024K 12K 12K 0K 3 640 11K 95% 1 WebKit HTMLTableColElement_0x1158f0000 1024K 12K 12K 0K 12 1264 11K 90% 1 WebKit HTMLCanvasElement_0x115b06000 1024K 12K 12K 0K 3 480 12K 97% 1 WebKit SVGRectElement_0x115ad6000 1024K 12K 12K 0K 5 1504 11K 88% 1 WebKit RenderTableCol_0x1158f2000 1024K 12K 12K 0K 12 2672 9K 79% 1 WebKit MutationObserver_0x1158d9000 1024K 12K 12K 0K 2 128 12K 99% 1 WebKit History_0x115b08000 1024K 12K 12K 0K 3 176 12K 99% 1 WebKit AbortSignal_0x115aed000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit IDBTransaction_0x115a0b000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit_SimulatedMouseEvent_0x115aa8000 1024K 12K 12K 0K 2 224 12K 99% 1 WebKit RenderLineBreak_0x115734000 1024K 12K 12K 0K 4 608 11K 96% 1 WebKit TrackListBase_0x1159bc000 1024K 12K 12K 0K 4 752 11K 94% 1 WebKit HTMLParagraphElement_0x114671000 1024K 12K 12K 0K 2 144 12K 99% 1 WebKit HTMLOListElement_0x11468a000 1024K 12K 12K 0K 2 160 12K 99% 1 WebKit TextControlPlaceholderElement_0x1156ef000 1024K 12K 12K 0K 2 160 12K 99% 1 WebKit CanvasRenderingContext2D_0x115b9d000 1024K 12K 12K 0K 3 960 11K 93% 1 Isolated RuntimeMethod Space_0x113fb6000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit IDBRequest_0x115a0d000 1024K 12K 12K 0K 1 32 12K 100% 1 DefaultPurgeableMallocZone_0x11592a000 44K 44K 44K 0K 1 40K 4K 10% 2 =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== TOTAL 4.0G 575.4M 482.5M 0K 1775384 292.4M 190.1M 40% 1332
Yusuke Suzuki
Comment 40 2019-05-30 19:04:30 PDT
- Isolated Structure Space_0x113ea2000 49.0M 14.5M 14.5M 0K 774 12.1M 2476K 17% 7 Structure takes 12.1MB, lol. - Isolated FunctionExecutable Space_0x113ed0000 49.0M 14.0M 14.0M 0K 742 11.6M 2464K 18% 7 Massive size of FunctionExecutable. 11.6MB! - Isolated UnlinkedFunctionExecutable Space_0x113efe000 49.0M 9464K 9464K 0K 508 8112K 1352K 15% 7 8MB UnlinkedFunctionExecutable - Isolated JSFunction Space_0x113e2f000 49.0M 10.1M 10.1M 0K 441 7040K 3344K 33% 7 7MB JSFunctions Yeah, the above things match to my intuition when I checked GC heaps in the inspector. Gmail allocates massive # of closures. But # of Structure is a bit unexpected, 12.1MB is too large.
Yusuke Suzuki
Comment 41 2019-05-30 19:35:41 PDT
Isolated InferredValue Space_0x1142b0000 49.0M 3392K 3392K 0K 198 3152K 240K 8% 7 This is also too large. Can we reduce sizeof(InferredValue), or should we avoid creating this and embadding this data into FunctionExecutable / SymbolTable directly?
Yusuke Suzuki
Comment 42 2019-06-01 21:50:39 PDT
BTW, nytimes memory dump. VIRTUAL RESIDENT DIRTY SWAPPED ALLOCATION BYTES DIRTY+SWAP REGION MALLOC ZONE SIZE SIZE SIZE SIZE COUNT ALLOCATED FRAG SIZE % FRAG COUNT =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== StringImpl_0x116efd000 188.0M 69.3M 30.9M 0K 139456 18.0M 12.9M 42% 34 DefaultMallocZone_0x10f487000 176.0M 53.9M 14.1M 0K 115956 9955K 4497K 32% 22 Vector_0x116eff000 162.0M 56.3M 55.3M 0K 140715 17.3M 37.9M 69% 36 MetadataTable_0x11843b000 152.0M 17.5M 17.5M 0K 14200 2353K 15.2M 87% 26 WebKit Using System Malloc_0x114cbe000 150.0M 31.6M 21.8M 0K 87422 16.7M 5278K 24% 23 InstructionStream_0x118469000 150.0M 5764K 5764K 0K 14470 4688K 1076K 19% 24 AssemblerData_0x117ee6000 150.0M 1928K 1928K 0K 1 16 1928K 100% 24 StringBuffer_0x11829a000 150.0M 29.4M 4516K 0K 1 16 4516K 100% 24 HashTable_0x114cc2000 150.0M 30.1M 18.7M 0K 14333 11.1M 7806K 41% 24 PropertyTable_0x11823e000 137.0M 10.3M 10.3M 0K 27528 6732K 3768K 36% 24 UniqueArray_0x114cc0000 99.0M 12.9M 12.1M 0K 91272 7993K 4383K 36% 21 WebKit FastMallocAlignedMemoryAllocator_0x117d5f000 73.0M 38.0M 34.2M 0K 1622 25.3M 9112K 26% 10 SegmentedVector_0x11826c000 54.0M 3028K 3028K 0K 3160 1234K 1794K 60% 11 SmallPtrSet_0x11840d000 54.0M 280K 280K 0K 1 16 280K 100% 12 RefCountedArray_0x117d03000 54.0M 1508K 1508K 0K 1554 99K 1409K 94% 12 Isolated Structure Space_0x117e00000 49.0M 12.2M 12.2M 0K 489 7808K 4696K 38% 7 HTMLDocumentParser_0x1180e0000 49.0M 76K 76K 0K 1 32 76K 100% 7 ParserArena_0x1183df000 49.0M 4440K 4440K 0K 1 16 4440K 100% 7 GCSegmentedArray_0x117d48000 49.0M 412K 412K 0K 19 72K 340K 83% 5 Isolated PropertyTable Space_0x117dd2000 49.0M 2340K 2340K 0K 98 1552K 788K 34% 7 WebKit FrameView_0x117f59000 49.0M 80K 80K 0K 13 18K 62K 78% 7 WebKit HTMLDocument_0x117f70000 49.0M 124K 124K 0K 12 39K 85K 69% 7 Isolated InferredValue Space_0x1181f9000 49.0M 1316K 1316K 0K 78 1232K 84K 7% 7 SpeculativeJIT_0x118607000 49.0M 60K 60K 0K 1 16 60K 100% 7 Isolated StructureRareData Space_0x117de9000 49.0M 1140K 1140K 0K 53 832K 308K 28% 7 Isolated UnlinkedFunctionExecutable Space_0x117e5c000 49.0M 2816K 2816K 0K 166 2640K 176K 7% 7 ResourceLoader_0x1181c6000 49.0M 148K 148K 0K 1 16 148K 100% 7 Isolated JSFunction Space_0x117d8d000 49.0M 13.0M 13.0M 0K 356 5680K 7672K 58% 7 DocumentLoader_0x117f42000 49.0M 128K 128K 0K 13 42K 86K 68% 6 Isolated FunctionExecutable Space_0x117e2e000 49.0M 4060K 4060K 0K 226 3600K 460K 12% 7 CachedResource_0x1181af000 49.0M 300K 300K 0K 162 242K 58K 20% 7 WebKit XMLHttpRequest_0x118521000 49.0M 112K 112K 0K 4 5K 107K 96% 7 TreeResolverScope_0x11813c000 49.0M 104K 104K 0K 1 32 104K 100% 7 Isolated ExecutableToCodeBlockEdge Space_0x117d76000 49.0M 340K 340K 0K 17 256K 84K 25% 7 IdentifierArena_0x1181df000 49.0M 60K 60K 0K 1 16 60K 100% 7 Isolated CodeBlock Space_0x117e17000 49.0M 4812K 4812K 0K 187 2976K 1836K 39% 7 Isolated NativeExecutable Space_0x117dbb000 41.0M 156K 156K 0K 5 64K 92K 59% 6 CStringBuffer_0x11572d000 38.0M 136K 136K 0K 68 3040 133K 98% 10 Isolated ErrorInstance Space_0x1184ae000 33.0M 100K 100K 0K 3 32K 68K 68% 5 UniqueArrayElement_0x117c90000 30.0M 416K 416K 0K 4100 270K 146K 36% 9 QuartzCore_0x117f2b000 22.0M 256K 252K 0K 2335 156K 96K 39% 8 BytecodeBasicBlockVector_0x1184dc000 22.0M 1520K 1520K 0K 21088 464K 1056K 70% 8 Isolated JSBoundFunction Space_0x118985000 17.0M 72K 72K 0K 4 48K 24K 34% 3 VM_0x1184f3000 14.0M 80K 80K 0K 7 2320 78K 98% 7 Isolated InternalFunction Space_0x117da4000 9216K 32K 32K 0K 2 16K 16K 50% 2 Isolated ProgramExecutable Space_0x117e45000 9216K 32K 32K 0K 2 16K 16K 50% 2 Isolated JSCustomGetterSetterFunction Space_0x118a40000 9216K 36K 36K 0K 1 48 36K 100% 2 Isolated JSCallbackFunction Space_0x118edb000 9216K 36K 36K 0K 1 48 36K 100% 2 WebKit SVGDocument_0x118d0b000 9216K 20K 20K 0K 2 3616 16K 83% 2 Isolated JSWeakMap Space_0x1189dc000 9216K 32K 32K 0K 2 16K 16K 50% 2 Isolated JSNativeStdFunction Space_0x118ec4000 9216K 36K 36K 0K 1 48 36K 100% 2 Isolated EvalExecutable Space_0x118b87000 9216K 32K 32K 0K 2 16K 16K 50% 2 DFGNode_0x1185d9000 7168K 7096K 6092K 0K 1 16 6092K 100% 7 SVGRenderStyle_0x11803f000 6144K 116K 116K 0K 68 6K 110K 95% 6 PolymorphicAccess_0x1185ab000 6144K 300K 300K 0K 1140 71K 229K 77% 6 StyleRuleBase_0x117c79000 6144K 152K 152K 0K 1248 54K 98K 65% 6 CSSFontFace_0x11861e000 6144K 124K 124K 0K 68 14K 110K 90% 5 WebKit InlineTextBox_0x118929000 6144K 156K 156K 0K 64 6K 150K 97% 6 WebKit HTMLIFrameElement_0x11866a000 6144K 72K 72K 0K 12 3024 69K 96% 6 WebKit EventSource_0x118b89000 6144K 72K 72K 0K 1 32 72K 100% 5 StringSourceProvider_0x117e73000 6144K 96K 96K 0K 276 30K 66K 69% 6 WebKit HTMLTagCollection_0x11864c000 6144K 80K 80K 0K 13 2912 77K 97% 6 WebKit HTMLButtonElement_0x1186ab000 6144K 72K 72K 0K 21 3552 69K 96% 6 BitVector_0x118a6c000 6144K 72K 72K 0K 1 16 72K 100% 5 WebKit HTMLLinkElement_0x118352000 6144K 76K 76K 0K 25 6K 70K 92% 6 PerformanceEntry_0x118395000 6144K 108K 108K 0K 154 45K 63K 59% 6 WebKit HTMLBodyElement_0x118125000 6144K 72K 72K 0K 12 1264 71K 99% 6 SourceProviderCacheItem_0x1183f6000 6144K 1312K 1312K 0K 1 32 1312K 100% 6 WebKit RenderView_0x11806d000 6144K 76K 76K 0K 13 8K 68K 91% 6 WebKit StaticNodeList_0x118ccd000 6144K 72K 72K 0K 3 128 72K 100% 5 WebKit VisualViewport_0x118198000 6144K 72K 72K 0K 12 1792 70K 98% 5 MessageEvent_0x118ab8000 6144K 136K 136K 0K 399 75K 61K 46% 6 SerializedScriptValue_0x118a4f000 6144K 96K 96K 0K 399 37K 59K 62% 6 SMILTimeContainer_0x1186d9000 6144K 72K 72K 0K 39 5K 67K 93% 6 StyleRareInheritedData_0x118011000 6144K 100K 100K 0K 33 9K 91K 92% 6 WebKit RenderText_0x11885a000 6144K 108K 108K 0K 147 16K 92K 86% 6 ImmutableStyleProperties_0x117ca7000 6144K 424K 424K 0K 3739 239K 185K 44% 6 StyleRule_0x117cbe000 6144K 224K 224K 0K 3514 110K 114K 51% 6 ParserArenaRoot_0x118424000 6144K 72K 72K 0K 1 16 72K 100% 6 WebKit HTMLStyleElement_0x118538000 6144K 72K 72K 0K 17 2592 69K 97% 6 RegisterAtOffsetList_0x117ecf000 6144K 72K 72K 0K 534 8K 64K 89% 6 WebKit HTMLScriptElement_0x118369000 6144K 80K 80K 0K 92 16K 64K 81% 6 WebKit InlineCSSStyleDeclaration_0x11899c000 6144K 72K 72K 0K 58 2784 69K 97% 6 WatchpointSet_0x1181e2000 6144K 1244K 1244K 0K 30866 965K 279K 23% 6 WebKit Text_0x1182df000 6144K 120K 120K 0K 416 32K 88K 73% 6 AccessCase_0x118594000 6144K 512K 512K 0K 2914 150K 362K 71% 6 WebKit UndoManager_0x117f87000 6144K 72K 72K 0K 13 608 71K 100% 6 NodeListsNodeData_0x118635000 6144K 76K 76K 0K 5 416 76K 100% 6 WebKit HTMLMetaElement_0x11833b000 6144K 88K 88K 0K 75 8K 80K 91% 6 WebKit RenderImageResource_0x1188e4000 6144K 72K 72K 0K 6 192 72K 100% 6 Region_0x118084000 6144K 72K 72K 0K 1 16 72K 100% 6 MetaAllocatorFreeSpace_0x11572b000 6144K 244K 244K 0K 1100 52K 192K 79% 6 QualifiedNameQualifiedNameImpl_0x117c4b000 6144K 120K 120K 0K 1133 53K 67K 56% 6 WebKit SVGPathElement_0x11871e000 6144K 88K 88K 0K 41 13K 75K 86% 6 StyleInheritedData_0x118028000 6144K 244K 244K 0K 159 25K 219K 90% 6 WebKit InlineFlowBox_0x11896e000 6144K 96K 96K 0K 41 4K 92K 96% 6 WebKit RenderImage_0x1188cd000 6144K 72K 72K 0K 6 1312 71K 99% 6 CSSValue_0x117cd5000 6144K 456K 456K 0K 8409 248K 208K 46% 6 CodeBlockRareData_0x118480000 6144K 120K 120K 0K 94 9K 111K 93% 6 WebKit DOMRectReadOnly_0x118d7f000 6144K 136K 136K 0K 800 37K 99K 73% 6 DirectJITCode_0x118255000 6144K 524K 524K 0K 1208 298K 226K 44% 6 WebKit SVGSVGElement_0x1186c2000 6144K 84K 84K 0K 39 15K 69K 83% 6 MetaAllocatorHandle_0x117efd000 6144K 680K 680K 0K 4050 253K 427K 63% 6 WebKit InlineElementBox_0x118957000 6144K 96K 96K 0K 116 7K 89K 93% 6 StyleFillData_0x118056000 6144K 72K 72K 0K 34 1600 70K 98% 6 WebKit RenderBlockFlow_0x118181000 6144K 240K 240K 0K 311 82K 158K 66% 6 WebKit HTMLAnchorElement_0x118735000 6144K 120K 120K 0K 179 25K 95K 80% 6 BytecodeBasicBlock_0x1184c5000 6144K 1028K 1028K 0K 12346 964K 64K 7% 6 WebKit HTMLElement_0x118694000 6144K 76K 76K 0K 43 5K 71K 94% 6 WebKit HTMLHeadElement_0x11810e000 6144K 72K 72K 0K 12 1264 71K 99% 6 RenderStyle_0x118153000 6144K 640K 640K 0K 740 69K 571K 90% 6 WebKit HTMLParagraphElement_0x118786000 6144K 72K 72K 0K 21 2272 70K 97% 6 RuleSet_0x117c62000 6144K 132K 132K 0K 45 30K 102K 78% 6 StyleRareNonInheritedData_0x117fe3000 6144K 584K 584K 0K 122 59K 525K 90% 5 StyleSurroundData_0x117fcc000 6144K 580K 580K 0K 257 60K 520K 90% 6 NodeRareData_0x118324000 6144K 152K 152K 0K 609 85K 67K 45% 6 BagNode_0x11857d000 6144K 3344K 3344K 0K 19346 1390K 1954K 59% 6 WeakBlock_0x118227000 6144K 1960K 1960K 0K 6877 1719K 241K 13% 6 SymbolTableEntryFatEntry_0x118283000 6144K 520K 520K 0K 22985 359K 161K 31% 6 Watchpoint_0x118497000 6144K 84K 84K 0K 688 21K 63K 75% 6 WebKit DOMWindow_0x117f9e000 6144K 72K 72K 0K 13 4K 68K 94% 6 WebKit RenderInline_0x1188b6000 6144K 92K 92K 0K 54 10K 82K 90% 6 MutableStyleProperties_0x117d31000 6144K 88K 88K 0K 197 18K 70K 80% 6 FontCascadeFonts_0x11809b000 6144K 160K 160K 0K 116 25K 135K 85% 6 BlockDirectory_0x117eb8000 6144K 80K 80K 0K 80 21K 59K 74% 6 MarkedBlockHandle_0x117e8a000 6144K 756K 756K 0K 4192 589K 167K 23% 5 BasicBlock_0x1185c2000 6144K 868K 868K 0K 1 16 868K 100% 6 WebKit RootInlineBox_0x118940000 6144K 300K 300K 0K 145 25K 275K 92% 6 WebKit HTMLSpanElement_0x118707000 6144K 72K 72K 0K 51 6K 66K 93% 6 BytecodeGenerator_0x118452000 6144K 72K 72K 0K 1 32 72K 100% 6 WebKit StaticElementList_0x1189f3000 6144K 92K 92K 0K 5 224 92K 100% 6 CSSSelectorRareData_0x117cec000 6144K 104K 104K 0K 477 37K 67K 65% 6 ElementData_0x11830d000 6144K 124K 124K 0K 321 40K 84K 68% 6 StyleTransformData_0x117ffa000 6144K 72K 72K 0K 37 1760 70K 98% 6 FastBitVector_0x117ea1000 6144K 528K 528K 0K 25581 404K 124K 24% 6 WebKit HTMLHtmlElement_0x1180f7000 6144K 72K 72K 0K 12 1264 71K 99% 6 SourceProviderCache_0x1183c8000 6144K 72K 72K 0K 5 160 72K 100% 6 WebKit CSSComputedStyleDeclaration_0x118dd4000 6144K 232K 232K 0K 5165 161K 71K 31% 6 WebKit DocumentFragment_0x11854f000 6144K 72K 72K 0K 2 128 72K 100% 6 ShareableElementData_0x1182c8000 6144K 136K 136K 0K 457 32K 104K 77% 6 StyleBoxData_0x117fb5000 6144K 176K 176K 0K 196 15K 161K 92% 6 StyleResolver_0x1180c9000 6144K 76K 76K 0K 14 12K 64K 85% 6 StringWrapperCFAllocator_0x116ffd000 6144K 72K 72K 0K 27 1696 70K 98% 6 RenderLayer_0x1180b2000 6144K 116K 116K 0K 81 28K 88K 77% 6 Font_0x11816a000 6144K 696K 696K 0K 96 56K 640K 92% 6 WebKit HTMLImageElement_0x1187b4000 6144K 72K 72K 0K 13 3872 68K 95% 6 RuleDataVector_0x117d1a000 6144K 536K 536K 0K 2483 116K 420K 79% 6 WebKit HTMLDivElement_0x1183a6000 6144K 104K 104K 0K 215 23K 81K 78% 6 ConcurrentBuffer_0x118210000 6144K 72K 72K 0K 34 3376 69K 96% 6 WebKit MutationObserver_0x118a03000 5120K 60K 60K 0K 5 416 60K 100% 5 WebKit Performance_0x1181dd000 5120K 60K 60K 0K 12 3376 57K 95% 5 WebKit RenderFlexibleBox_0x11867d000 5120K 84K 84K 0K 39 14K 70K 84% 5 WebKit ChildNodeList_0x118a4b000 5120K 60K 60K 0K 1 32 60K 100% 5 WebKit Comment_0x1187cb000 5120K 60K 60K 0K 10 736 59K 99% 5 WebKit DOMPlugin_0x118ced000 5120K 60K 60K 0K 1 32 60K 100% 4 WebKit SVGCircleElement_0x1183a8000 5120K 60K 60K 0K 8 2384 58K 97% 5 WebKit RenderTextFragment_0x118912000 4096K 48K 48K 0K 3 320 48K 100% 4 WebKit RenderButton_0x118843000 4096K 52K 52K 0K 14 5K 47K 91% 4 WebKit RenderSVGRoot_0x118871000 4096K 68K 68K 0K 26 11K 57K 84% 4 WebKit Location_0x118566000 4096K 48K 48K 0K 6 176 48K 100% 4 WebKit HTMLUListElement_0x1183b1000 4096K 48K 48K 0K 20 2160 46K 96% 4 WebKit History_0x118a53000 4096K 48K 48K 0K 4 256 48K 100% 4 WebKit PseudoElement_0x11866d000 4096K 48K 48K 0K 3 288 48K 100% 4 WebKit Storage_0x1185f0000 4096K 48K 48K 0K 6 176 48K 100% 4 WebKit RenderSVGPath_0x11889f000 4096K 64K 64K 0K 35 11K 53K 84% 4 WebKit HTMLTimeElement_0x1187e2000 4096K 48K 48K 0K 8 816 47K 99% 4 WebKit Blob_0x118a05000 4096K 48K 48K 0K 1 16 48K 100% 4 DefaultPurgeableMallocZone_0x118f09000 3796K 3796K 3796K 0K 1 3792K 4K 1% 2 WebKit HTMLTitleElement_0x1182f6000 3072K 36K 36K 0K 5 544 35K 99% 3 WebKit Screen_0x118a55000 3072K 36K 36K 0K 4 112 36K 100% 3 WebKit AbortSignal_0x118af8000 3072K 36K 36K 0K 1 32 36K 100% 3 WebKit Attr_0x118c6f000 3072K 92K 92K 0K 604 57K 35K 39% 3 WebKit MessagePort_0x1189c5000 3072K 36K 36K 0K 11 1632 34K 96% 3 WebKit HTMLHeadingElement_0x11879d000 3072K 36K 36K 0K 15 1600 34K 96% 3 WebKit DocumentType_0x1182b1000 3072K 36K 36K 0K 6 512 36K 99% 3 WebKit ShadowRoot_0x118bfc000 3072K 36K 36K 0K 2 240 36K 100% 3 WebKit Navigator_0x11850a000 3072K 36K 36K 0K 5 480 36K 99% 3 WebKit NamedNodeMap_0x118c58000 3072K 36K 36K 0K 2 48 36K 100% 3 WebKit DatasetDOMStringMap_0x118cb4000 3072K 36K 36K 0K 6 112 36K 100% 3 WebKit SVGRectElement_0x1186f0000 3072K 36K 36K 0K 11 3712 32K 90% 3 WebKit_GenericChildrenOnlyCachedHTMLCollection_0x118a49000 3072K 40K 40K 0K 1 48 40K 100% 3 WebKit HTMLLIElement_0x11876f000 3072K 64K 64K 0K 156 17K 47K 74% 3 WebKit ServiceWorkerContainer_0x118a83000 3072K 36K 36K 0K 5 1056 35K 98% 3 WebKit HTMLTextAreaElement_0x118c41000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit StyleRuleCSSStyleDeclaration_0x118e02000 2048K 24K 24K 0K 5 240 24K 100% 2 WebKit RenderSVGRect_0x118888000 2048K 24K 24K 0K 8 2496 22K 90% 2 WebKit HTMLFormControlsCollection_0x118c9d000 2048K 24K 24K 0K 1 48 24K 100% 2 WebKit ClassCollection_0x1189b3000 2048K 24K 24K 0K 5 992 23K 96% 2 WebKit TextControlInnerTextElement_0x118c13000 2048K 24K 24K 0K 1 48 24K 100% 2 WebKit AllDescendantsCollection_0x118a4d000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit HTMLInputElement_0x118be5000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit NameNodeList_0x118ba0000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit HTMLFormElement_0x118c86000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit SVGPolygonElement_0x118810000 2048K 24K 24K 0K 6 1632 22K 94% 2 WebKit AbortController_0x118d47000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit RenderSVGEllipse_0x118d5e000 2048K 24K 24K 0K 4 1040 23K 96% 2 WebKit HTMLOptionElement_0x118bce000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit_GenericDescendantsCachedHTMLCollection_0x118deb000 2048K 24K 24K 0K 2 272 24K 99% 2 WebKit HTMLSelectElement_0x118bb7000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit RenderListItem_0x1188fb000 2048K 56K 56K 0K 67 20K 36K 65% 2 WebKit HTMLTableElement_0x118c2a000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit SVGLineElement_0x118da5000 2048K 24K 24K 0K 3 736 23K 98% 2 WebKit DOMPluginArray_0x1189c3000 2048K 24K 24K 0K 3 96 24K 100% 2 WebKit FileReader_0x118af6000 2048K 24K 24K 0K 1 32 24K 100% 2 WebKit DOMMimeTypeArray_0x118a51000 2048K 24K 24K 0K 2 64 24K 100% 2 WebKit SVGGElement_0x118cd6000 1024K 12K 12K 0K 7 1856 10K 85% 1 WebKit ServiceWorker_0x118ead000 1024K 12K 12K 0K 2 224 12K 99% 1 Isolated RuntimeMethod Space_0x117f14000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit RenderIFrame_0x118e7f000 1024K 12K 12K 0K 2 304 12K 98% 1 WebKit TreeWalker_0x118ef2000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit RenderSVGHiddenContainer_0x118e3e000 1024K 12K 12K 0K 2 256 12K 98% 1 WebKit SVGStyleElement_0x118dca000 1024K 12K 12K 0K 2 336 12K 98% 1 WebKit RenderSVGTransformableContainer_0x118ccb000 1024K 12K 12K 0K 8 1952 10K 85% 1 WebKit SVGDefsElement_0x118e27000 1024K 12K 12K 0K 2 336 12K 98% 1 WebKit HTMLQuoteElement_0x1187f9000 1024K 12K 12K 0K 1 32 12K 100% 1 WebKit ServiceWorkerRegistration_0x118e96000 1024K 12K 12K 0K 2 608 11K 96% 1 WebKit SVGUseElement_0x118d7c000 1024K 12K 12K 0K 2 464 12K 97% 1 WebKit HTMLBaseElement_0x118d0d000 1024K 12K 12K 0K 2 144 12K 99% 1 =========== ======= ========= ========= ========= ========= ========= ========= ====== ====== TOTAL 3.9G 449.9M 318.8M 0K 850684 161.2M 157.6M 50% 1301
Yusuke Suzuki
Comment 43 2019-06-01 21:54:49 PDT
In NYTimes case, the other data (like, CG raster data, IOKit, Image IO) also takes large amount of memory. VIRTUAL RESIDENT DIRTY SWAPPED VOLATILE NONVOL EMPTY REGION REGION TYPE SIZE SIZE SIZE SIZE SIZE SIZE SIZE COUNT (non-coalesced) =========== ======= ======== ===== ======= ======== ====== ===== ======= Activity Tracing 256K 32K 32K 0K 0K 32K 0K 1 CG raster data 3792K 3792K 3792K 0K 0K 0K 0K 1 CoreAnimation 20K 20K 20K 0K 0K 0K 0K 3 CoreUI image data 88K 88K 88K 0K 0K 0K 0K 1 CoreUI image file 140K 140K 140K 0K 0K 0K 0K 2 Dispatch continuations 12.0M 256K 104K 0K 0K 0K 0K 1 Foundation 4K 4K 4K 0K 0K 0K 0K 1 IOKit 4672K 4400K 4400K 0K 1920K 2428K 0K 28 IOSurface 103.0M 116K 108K 0K 0K 0K 45.5M 39 Image IO 19.0M 19.0M 19.0M 0K 19.0M 0K 0K 3 JS JIT generated code 1.0G 11.3M 6892K 0K 0K 0K 0K 3 Kernel Alloc Once 8K 8K 8K 0K 0K 0K 0K 1 MALLOC guard page 5208K 0K 0K 0K 0K 0K 0K 1032 MALLOC metadata 14.4M 12.7M 12.7M 0K 0K 0K 0K 1088 MALLOC_LARGE 3792K 3792K 3792K 0K 3792K 0K 0K 1 see MALLOC ZONE table below MALLOC_LARGE metadata 4K 4K 4K 0K 0K 0K 0K 1 see MALLOC ZONE table below MALLOC_MEDIUM 280.0M 123.9M 45.7M 0K 0K 0K 0K 34 see MALLOC ZONE table below MALLOC_MEDIUM (empty) 784.0M 50.1M 14.2M 0K 0K 0K 0K 98 see MALLOC ZONE table below MALLOC_MEDIUM (reserved) 6.8G 0K 0K 0K 0K 0K 0K 63 see MALLOC ZONE table below MALLOC_SMALL 1.2G 156.2M 142.7M 0K 0K 0K 0K 153 see MALLOC ZONE table below MALLOC_SMALL (empty) 704.0M 6580K 6580K 0K 0K 0K 0K 88 see MALLOC ZONE table below MALLOC_TINY 762.0M 99.4M 95.9M 0K 0K 0K 0K 751 see MALLOC ZONE table below MALLOC_TINY (empty) 179.0M 10.2M 10.2M 0K 0K 0K 0K 175 see MALLOC ZONE table below Memory Tag 251 16K 16K 16K 0K 0K 0K 0K 1 STACK GUARD 56.0M 0K 0K 0K 0K 0K 0K 6 Stack 10.5M 268K 252K 0K 0K 0K 0K 6 Stack (reserved) 520K 0K 0K 0K 0K 0K 0K 1 reserved VM address space (unallocated) Stack Guard 4K 0K 0K 0K 0K 0K 0K 1 VM_ALLOCATE 52K 52K 52K 0K 0K 0K 0K 5 __DATA 53.0M 45.2M 5456K 0K 0K 0K 0K 459 __FONT_DATA 4K 0K 0K 0K 0K 0K 0K 1 __LINKEDIT 283.2M 197.8M 0K 0K 0K 0K 0K 11 __TEXT 333.9M 250.0M 0K 0K 0K 0K 0K 459 __UNICODE 564K 492K 0K 0K 0K 0K 0K 1 mapped file 52.8M 28.2M 24K 0K 0K 0K 0K 69 shared memory 628K 492K 492K 0K 0K 0K 0K 6 =========== ======= ======== ===== ======= ======== ====== ===== ======= TOTAL 12.7G 1.0G 371.9M 0K 24.6M 2460K 45.5M 4594 TOTAL, minus reserved VM space 12.7G 1.0G 371.9M 0K 24.6M 2460K 45.5M 4594
Yusuke Suzuki
Comment 44 2019-06-01 21:57:59 PDT
BTW, InferedValue's 3152K in Gmail and 1232K in nytimes will be removed in https://bugs.webkit.org/show_bug.cgi?id=198407
Yusuke Suzuki
Comment 45 2019-06-03 18:15:32 PDT
Created attachment 371234 [details] Patch Rebaseline
Yusuke Suzuki
Comment 46 2019-06-03 19:08:45 PDT
Created attachment 371238 [details] Patch Rebaseline
Yusuke Suzuki
Comment 47 2019-12-29 01:38:05 PST
Yusuke Suzuki
Comment 48 2019-12-29 01:53:44 PST
Yusuke Suzuki
Comment 49 2019-12-29 02:03:47 PST
Yusuke Suzuki
Comment 50 2019-12-29 02:16:35 PST
Yusuke Suzuki
Comment 51 2019-12-29 14:27:52 PST
Yusuke Suzuki
Comment 52 2019-12-29 18:25:16 PST
Yusuke Suzuki
Comment 53 2019-12-29 21:05:09 PST
Yusuke Suzuki
Comment 54 2019-12-29 21:09:16 PST
Yusuke Suzuki
Comment 55 2019-12-29 21:34:33 PST
Saam Barati
Comment 56 2019-12-30 13:02:00 PST
Comment on attachment 386508 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386508&action=review > Source/WTF/ChangeLog:28 > + can you say how to use this too? > Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.h:36 > +DECLARE_DEBUG_HEAP_ALLOCATOR(MetadataTable); why do we have "DEBUG" in the name here? Since sometimes this isn't debugging related, specifically when we have that compile flag turned off. Maybe we can have a descriptive name like "DECLARE_MALLOC_ZONE_ALLOCATOR"?
Yusuke Suzuki
Comment 57 2019-12-30 23:27:43 PST
Comment on attachment 386508 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386508&action=review >> Source/WTF/ChangeLog:28 >> + > > can you say how to use this too? "how to use this" means vmmap related thing? I noted here. >> Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.h:36 >> +DECLARE_DEBUG_HEAP_ALLOCATOR(MetadataTable); > > why do we have "DEBUG" in the name here? Since sometimes this isn't debugging related, specifically when we have that compile flag turned off. > > Maybe we can have a descriptive name like > "DECLARE_MALLOC_ZONE_ALLOCATOR"? We call our system-malloc feature as DebugHeap (as it is defined in bmalloc), so we use this name. For this macro name, I'm ok for either using DEBUG_HEAP or MALLOC_ZONE. For now, I've just changed this to MALLOC_ZONE while keeping WTF::DebugHeap as DebugHeap since bmalloc is still using DebugHeap term.
Yusuke Suzuki
Comment 58 2019-12-30 23:29:11 PST
Simon Fraser (smfr)
Comment 59 2020-01-02 14:24:01 PST
Comment on attachment 386550 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386550&action=review > Source/WTF/ChangeLog:22 > + To achieve this goal without making very large change, we put Malloc allocator template type to various containers. "put Malloc allocator template type to various containers" doesn't parse. "put a template type in various containers"? > Source/WTF/ChangeLog:27 > + To use this feature, we need to flip two compile time flags, ENABLE(MALLOC_HEAP_BREAKDOWN) in WTF and BENABLE_MALLOC_HEAP_BREAKDOWN in bmalloc. Can the ENABLE_MALLOC_HEAP_BREAKDOWN just be defined to BENABLE_MALLOC_HEAP_BREAKDOWN so there's only one switch? > Source/JavaScriptCore/bytecode/CodeBlock.h:872 > + WTF_MAKE_STRUCT_FAST_ALLOCATED_FROM_DEBUG_HEAP(CodeBlockRareData); This macro name sounds like it makes it always allocated from a debug heap. Maybe WTF_MAKE_STRUCT_FAST_ALLOCATED_WITH_HEAP_IDENTIFIER(CodeBlockRareData)
Yusuke Suzuki
Comment 60 2020-01-02 14:36:44 PST
Comment on attachment 386550 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386550&action=review >> Source/WTF/ChangeLog:22 >> + To achieve this goal without making very large change, we put Malloc allocator template type to various containers. > > "put Malloc allocator template type to various containers" doesn't parse. "put a template type in various containers"? Fixed. >> Source/WTF/ChangeLog:27 >> + To use this feature, we need to flip two compile time flags, ENABLE(MALLOC_HEAP_BREAKDOWN) in WTF and BENABLE_MALLOC_HEAP_BREAKDOWN in bmalloc. > > Can the ENABLE_MALLOC_HEAP_BREAKDOWN just be defined to BENABLE_MALLOC_HEAP_BREAKDOWN so there's only one switch? I think this is not possible for now. To define ENABLE_MALLOC_HEAP_BREAKDOWN, we need to include BPlatform.h. But wtf/Platform.h is special header which is also used by sandbox preprocessing. So it should not include some random C headers. However, BPlatform.h includes some headers. So, at Platform.h, we do not have BENABLE_MALLOC_HEAP_BREAKDOWN.
Yusuke Suzuki
Comment 61 2020-01-02 14:37:32 PST
Comment on attachment 386550 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386550&action=review >> Source/JavaScriptCore/bytecode/CodeBlock.h:872 >> + WTF_MAKE_STRUCT_FAST_ALLOCATED_FROM_DEBUG_HEAP(CodeBlockRareData); > > This macro name sounds like it makes it always allocated from a debug heap. Maybe WTF_MAKE_STRUCT_FAST_ALLOCATED_WITH_HEAP_IDENTIFIER(CodeBlockRareData) Sounds nice. Fixed. And we also change DECLARE_MALLOC_ZONE_ALLOCATOR => DECLARE_ALLOCATOR_WITH_HEAP_IDENTIFIER
Yusuke Suzuki
Comment 62 2020-01-02 14:41:11 PST
Saam Barati
Comment 63 2020-01-02 16:08:25 PST
Comment on attachment 386508 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386508&action=review >>> Source/WTF/ChangeLog:28 >>> + >> >> can you say how to use this too? > > "how to use this" means vmmap related thing? I noted here. Sorry, I wasn't clear in my original message. I meant how to use it from C++, since you have to manually call *Allocator::malloc in a few places.
Saam Barati
Comment 64 2020-01-02 16:31:49 PST
Comment on attachment 386632 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386632&action=review > Source/JavaScriptCore/bytecode/AccessCase.h:83 > + WTF_MAKE_FAST_ALLOCATED_FROM_MALLOC_ZONE(AccessCase); I don't this should be done in this patch, but it would be good to file a bug where we just made: - WTF_MAKE_FAST_ALLOCATED always takes the class name, so in many cases, we won't need to use this specific macro, and it can automatically flip on malloc zones when the compile flag is on > Source/WTF/wtf/FastMalloc.cpp:287 > +#define TRACK_MALLOCS 0 you should talk about this in one of the changelogs. Also, can we name this TRACK_MALLOC_CALLSTACK or something similar to say it more specifically is tracking callstack data. > Source/WTF/wtf/FastMalloc.cpp:293 > +class AvoidRecordingScope { Should we put this in TLS instead of having a global atomic? > Source/WTF/wtf/FastMalloc.cpp:379 > + auto addResult = m_addressMallocSiteData.add(newAddress, WTFMove(it->value)); > + ASSERT_UNUSED(addResult, addResult.isNewEntry); > + > + m_addressMallocSiteData.remove(it); you should only do this when `newAddress != oldAddress` > Source/WTF/wtf/FastMalloc.cpp:442 > + const size_t framesToSkip = 6; nit: I don't think this is super important to do. But I wonder if we could somehow programmatically figure out this constant by doing string comparisons to the top stack frames.
Yusuke Suzuki
Comment 65 2020-01-02 17:13:50 PST
Comment on attachment 386632 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386632&action=review >> Source/JavaScriptCore/bytecode/AccessCase.h:83 >> + WTF_MAKE_FAST_ALLOCATED_FROM_MALLOC_ZONE(AccessCase); > > I don't this should be done in this patch, but it would be good to file a bug where we just made: > - WTF_MAKE_FAST_ALLOCATED always takes the class name, so in many cases, we won't need to use this specific macro, and it can automatically flip on malloc zones when the compile flag is on Sounds nice. Filed https://bugs.webkit.org/show_bug.cgi?id=205702. >> Source/WTF/wtf/FastMalloc.cpp:287 >> +#define TRACK_MALLOCS 0 > > you should talk about this in one of the changelogs. > > Also, can we name this TRACK_MALLOC_CALLSTACK or something similar to say it more specifically is tracking callstack data. Right. Fixed. >> Source/WTF/wtf/FastMalloc.cpp:293 >> +class AvoidRecordingScope { > > Should we put this in TLS instead of having a global atomic? Right, fixed. >> Source/WTF/wtf/FastMalloc.cpp:379 >> + m_addressMallocSiteData.remove(it); > > you should only do this when `newAddress != oldAddress` Fixed. >> Source/WTF/wtf/FastMalloc.cpp:442 >> + const size_t framesToSkip = 6; > > nit: I don't think this is super important to do. But I wonder if we could somehow programmatically figure out this constant by doing string comparisons to the top stack frames. Filed in https://bugs.webkit.org/show_bug.cgi?id=205701
Yusuke Suzuki
Comment 66 2020-01-02 18:36:52 PST
Fujii Hironori
Comment 67 2020-04-20 00:08:02 PDT
Comment on attachment 386632 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=386632&action=review > Source/WTF/wtf/text/StringImpl.h:1018 > + memcpy(stringImplBuffer.get(), vectorBuffer.get(), size); size → size * sizeof(CharacterType) Filed: Bug 210736 – StringImpl::adopt truncates the string by copying only half of the argument Vector
Note You need to log in before you can comment on or make changes to this bug.