Bug 186422

Summary: Experiment: create lots of different malloc zones for easier accounting of memory use
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Tools / TestsAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: alecflett, allan.jensen, annulen, aroben, beidson, benjamin, cdumez, cmarcelo, darin, dbates, dino, eric.carlson, esprehn+autocc, ews-watchlist, fmalita, fpizlo, fred.wang, glenn, gyuyoung.kim, Hironori.Fujii, japhet, jer.noble, joepeck, jsbell, kangil.han, keith_miller, kondapallykalyan, lforschler, macpherson, mark.lam, menard, mmaxfield, msaboff, pdr, philipj, rniwa, ryuan.choi, saam, sabouhallawa, sam, schenney, sergio, simon.fraser, sroberts, tzagallo, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Totally hacky patch
none
Patch, not for landing
none
Archive of layout-test-results from ews113 for mac-sierra
none
Rebased Patch, not for landing
none
Patch
ews-watchlist: commit-queue-
Archive of layout-test-results from ews100 for mac-highsierra
none
Archive of layout-test-results from ews105 for mac-highsierra-wk2
none
Archive of layout-test-results from ews117 for mac-highsierra
none
Archive of layout-test-results from ews122 for ios-simulator-wk2
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch saam: review+

Description Simon Fraser (smfr) 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.
Comment 1 Simon Fraser (smfr) 2018-06-07 21:20:00 PDT
Created attachment 342237 [details]
Totally hacky patch
Comment 2 Simon Fraser (smfr) 2018-06-17 08:49:22 PDT
Created attachment 342911 [details]
Patch, not for landing
Comment 3 Simon Fraser (smfr) 2018-06-17 08:50:18 PDT
I'm open to suggestions about whether any form of this should be landed behind an #ifdef.
Comment 4 EWS Watchlist 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.
Comment 5 Simon Fraser (smfr) 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
Comment 6 EWS Watchlist 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.
Comment 7 EWS Watchlist 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
Comment 8 Darin Adler 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?
Comment 9 Radar WebKit Bug Importer 2018-06-18 11:37:24 PDT
<rdar://problem/41218211>
Comment 10 Michael Saboff 2018-10-15 16:41:49 PDT
Created attachment 352402 [details]
Rebased Patch, not for landing
Comment 11 Yusuke Suzuki 2019-05-15 00:05:48 PDT
Added MetadataTable category and it turns out that MetadataTable is massive in Gmail!
Comment 12 Yusuke Suzuki 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
Comment 13 EWS Watchlist 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.
Comment 14 Yusuke Suzuki 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
Comment 15 Yusuke Suzuki 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 :)
Comment 16 EWS Watchlist 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.
Comment 17 EWS Watchlist 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
Comment 18 EWS Watchlist 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.
Comment 19 EWS Watchlist 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
Comment 20 EWS Watchlist 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.
Comment 21 EWS Watchlist 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
Comment 22 EWS Watchlist 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.
Comment 23 EWS Watchlist 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
Comment 24 Simon Fraser (smfr) 2019-05-15 07:35:16 PDT
Nice! Glad this was useful.
Comment 25 Yusuke Suzuki 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.
Comment 26 Shawn Roberts 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.
Comment 27 Yusuke Suzuki 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!
Comment 28 Simon Fraser (smfr) 2019-05-16 09:21:40 PDT
Bug 186698 has a patch to track vector allocation call sites.
Comment 29 Yusuke Suzuki 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.
Comment 30 Yusuke Suzuki 2019-05-16 16:37:01 PDT
Created attachment 370089 [details]
Patch
Comment 31 Yusuke Suzuki 2019-05-16 16:43:58 PDT
Created attachment 370092 [details]
Patch
Comment 32 Yusuke Suzuki 2019-05-29 17:21:43 PDT
Created attachment 370901 [details]
Patch

Rebaseline
Comment 33 EWS Watchlist 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.
Comment 34 Yusuke Suzuki 2019-05-29 22:24:21 PDT
Created attachment 370923 [details]
Patch

Less ifdef version :)
Comment 35 Yusuke Suzuki 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
Comment 36 Yusuke Suzuki 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
Comment 37 Yusuke Suzuki 2019-05-30 02:31:22 PDT
Created attachment 370930 [details]
Patch
Comment 38 Yusuke Suzuki 2019-05-30 17:07:03 PDT
Created attachment 370998 [details]
Patch
Comment 39 Yusuke Suzuki 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
Comment 40 Yusuke Suzuki 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.
Comment 41 Yusuke Suzuki 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?
Comment 42 Yusuke Suzuki 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
Comment 43 Yusuke Suzuki 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
Comment 44 Yusuke Suzuki 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
Comment 45 Yusuke Suzuki 2019-06-03 18:15:32 PDT
Created attachment 371234 [details]
Patch

Rebaseline
Comment 46 Yusuke Suzuki 2019-06-03 19:08:45 PDT
Created attachment 371238 [details]
Patch

Rebaseline
Comment 47 Yusuke Suzuki 2019-12-29 01:38:05 PST
Created attachment 386485 [details]
Patch
Comment 48 Yusuke Suzuki 2019-12-29 01:53:44 PST
Created attachment 386486 [details]
Patch
Comment 49 Yusuke Suzuki 2019-12-29 02:03:47 PST
Created attachment 386487 [details]
Patch
Comment 50 Yusuke Suzuki 2019-12-29 02:16:35 PST
Created attachment 386488 [details]
Patch
Comment 51 Yusuke Suzuki 2019-12-29 14:27:52 PST
Created attachment 386497 [details]
Patch
Comment 52 Yusuke Suzuki 2019-12-29 18:25:16 PST
Created attachment 386503 [details]
Patch
Comment 53 Yusuke Suzuki 2019-12-29 21:05:09 PST
Created attachment 386506 [details]
Patch
Comment 54 Yusuke Suzuki 2019-12-29 21:09:16 PST
Created attachment 386507 [details]
Patch
Comment 55 Yusuke Suzuki 2019-12-29 21:34:33 PST
Created attachment 386508 [details]
Patch
Comment 56 Saam Barati 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"?
Comment 57 Yusuke Suzuki 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.
Comment 58 Yusuke Suzuki 2019-12-30 23:29:11 PST
Created attachment 386550 [details]
Patch
Comment 59 Simon Fraser (smfr) 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)
Comment 60 Yusuke Suzuki 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.
Comment 61 Yusuke Suzuki 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
Comment 62 Yusuke Suzuki 2020-01-02 14:41:11 PST
Created attachment 386632 [details]
Patch
Comment 63 Saam Barati 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.
Comment 64 Saam Barati 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.
Comment 65 Yusuke Suzuki 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
Comment 66 Yusuke Suzuki 2020-01-02 18:36:52 PST
Committed r253987: <https://trac.webkit.org/changeset/253987>
Comment 67 Fujii Hironori 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