Bug 186728

Summary: StructureTransitionTable wastes 318KB of HashTable capacity on cnn.com
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: bfulgham, keith_miller, saam, simon.fraser, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Simon Fraser (smfr) 2018-06-16 12:23:59 PDT
Using tooling from bug 186698, loading can and running "notifyutil -p com.apple.WebKit.dumpHashTableCapacity" shows:

Wasted capacity: 318816 bytes (used 143904 of 462720 bytes, utilization: 31.10%) - 689 allocations
1   0x116681ba5 WTF::HashTable<std::__1::pair<WTF::UniquedStringImpl*, unsigned int>, WTF::KeyValuePair<std::__1::pair<WTF::UniquedStringImpl*, unsigned int>, JSC::Weak<JSC::Structure> >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<std::__1::pair<WTF::UniquedStringImpl*, unsigned int>, JSC::Weak<JSC::Structure> > >, JSC::StructureTransitionTable::Hash, WTF::HashMap<std::__1::pair<WTF::UniquedStringImpl*, unsigned int>, JSC::Weak<JSC::Structure>, JSC::StructureTransitionTable::Hash, WTF::HashTraits<std::__1::pair<WTF::UniquedStringImpl*, unsigned int> >, WTF::HashTraits<JSC::Weak<JSC::Structure> > >::KeyValuePairTraits, WTF::HashTraits<std::__1::pair<WTF::UniquedStringImpl*, unsigned int> > >::HashTable()
2   0x116681b85 WTF::HashMap<std::__1::pair<WTF::UniquedStringImpl*, unsigned int>, JSC::Weak<JSC::Structure>, JSC::StructureTransitionTable::Hash, WTF::HashTraits<std::__1::pair<WTF::UniquedStringImpl*, unsigned int> >, WTF::HashTraits<JSC::Weak<JSC::Structure> > >::HashMap()
3   0x116681ae5 WTF::HashMap<std::__1::pair<WTF::UniquedStringImpl*, unsigned int>, JSC::Weak<JSC::Structure>, JSC::StructureTransitionTable::Hash, WTF::HashTraits<std::__1::pair<WTF::UniquedStringImpl*, unsigned int> >, WTF::HashTraits<JSC::Weak<JSC::Structure> > >::HashMap()
4   0x116681a9b JSC::WeakGCMap<std::__1::pair<WTF::UniquedStringImpl*, unsigned int>, JSC::Structure, JSC::StructureTransitionTable::Hash, WTF::HashTraits<std::__1::pair<WTF::UniquedStringImpl*, unsigned int> > >::WeakGCMap(JSC::VM&)
5   0x1166706fd JSC::WeakGCMap<std::__1::pair<WTF::UniquedStringImpl*, unsigned int>, JSC::Structure, JSC::StructureTransitionTable::Hash, WTF::HashTraits<std::__1::pair<WTF::UniquedStringImpl*, unsigned int> > >::WeakGCMap(JSC::VM&)
6   0x116670392 JSC::StructureTransitionTable::add(JSC::VM&, JSC::Structure*)
7   0x11667357f JSC::Structure::addNewPropertyTransition(JSC::VM&, JSC::Structure*, JSC::PropertyName, unsigned int, int&, JSC::PutPropertySlot::Context, JSC::DeferredStructureTransitionWatchpointFire*)
8   0x11536ad9c bool JSC::JSObject::putDirectInternal<(JSC::JSObject::PutMode)1>(JSC::VM&, JSC::PropertyName, JSC::JSValue, unsigned int, JSC::PutPropertySlot&)
Comment 1 Radar WebKit Bug Importer 2018-06-16 12:24:34 PDT
<rdar://problem/41189105>
Comment 2 Brent Fulgham 2022-02-12 19:52:37 PST

*** This bug has been marked as a duplicate of bug 207616 ***