WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
186733
ensurePropertyReplacementWatchpointSet wastes 308KB of HashTable capacity on cnn.com
https://bugs.webkit.org/show_bug.cgi?id=186733
Summary
ensurePropertyReplacementWatchpointSet wastes 308KB of HashTable capacity on ...
Simon Fraser (smfr)
Reported
2018-06-16 12:28:12 PDT
Using tooling from
bug 186698
, loading can and running "notifyutil -p com.apple.WebKit.dumpHashTableCapacity" shows: Wasted capacity: 168032 bytes (used 34720 of 202752 bytes, utilization: 17.12%) - 1441 allocations 1 0x116684e05 WTF::HashTable<int, WTF::KeyValuePair<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >, WTF::IntHash<int>, WTF::HashMap<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> >, WTF::IntHash<int>, WTF::UnsignedWithZeroKeyHashTraits<int>, WTF::HashTraits<WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >::KeyValuePairTraits, WTF::UnsignedWithZeroKeyHashTraits<int> >::HashTable() 2 0x116684de5 WTF::HashMap<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> >, WTF::IntHash<int>, WTF::UnsignedWithZeroKeyHashTraits<int>, WTF::HashTraits<WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >::HashMap() 3 0x116684dc5 WTF::HashMap<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> >, WTF::IntHash<int>, WTF::UnsignedWithZeroKeyHashTraits<int>, WTF::HashTraits<WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >::HashMap() 4 0x1166754f2 JSC::Structure::ensurePropertyReplacementWatchpointSet(JSC::VM&, int) 5 0x1157cf3af JSC::PropertyCondition::isWatchableWhenValid(JSC::Structure*, JSC::PropertyCondition::WatchabilityEffort) const 6 0x1157cf510 JSC::PropertyCondition::isWatchable(JSC::Structure*, JSC::JSObject*, JSC::PropertyCondition::WatchabilityEffort) const 7 0x1157bdca0 JSC::ObjectPropertyCondition::isWatchable(JSC::Structure*, JSC::PropertyCondition::WatchabilityEffort) const 8 0x1157bb17b JSC::ObjectPropertyCondition::isWatchable(JSC::PropertyCondition::WatchabilityEffort) const
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2018-06-16 12:28:35 PDT
<
rdar://problem/41189144
>
Simon Fraser (smfr)
Comment 2
2018-06-16 12:29:58 PDT
Also this code path: Wasted capacity: 140416 bytes (used 44928 of 185344 bytes, utilization: 24.24%) - 1018 allocations 1 0x116684e05 WTF::HashTable<int, WTF::KeyValuePair<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >, WTF::IntHash<int>, WTF::HashMap<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> >, WTF::IntHash<int>, WTF::UnsignedWithZeroKeyHashTraits<int>, WTF::HashTraits<WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >::KeyValuePairTraits, WTF::UnsignedWithZeroKeyHashTraits<int> >::HashTable() 2 0x116684de5 WTF::HashMap<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> >, WTF::IntHash<int>, WTF::UnsignedWithZeroKeyHashTraits<int>, WTF::HashTraits<WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >::HashMap() 3 0x116684dc5 WTF::HashMap<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> >, WTF::IntHash<int>, WTF::UnsignedWithZeroKeyHashTraits<int>, WTF::HashTraits<WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >::HashMap() 4 0x1166754f2 JSC::Structure::ensurePropertyReplacementWatchpointSet(JSC::VM&, int) 5 0x116675b58 JSC::Structure::didCachePropertyReplacement(JSC::VM&, int) 6 0x11626c20a llint_slow_path_put_by_id 7 0x11531710f llint_entry 8 0x11531b8d6 llint_entry
Simon Fraser (smfr)
Comment 3
2018-06-16 12:33:47 PDT
Also: Wasted capacity: 67888 bytes (used 18000 of 85888 bytes, utilization: 20.96%) - 551 allocations 1 0x116684e05 WTF::HashTable<int, WTF::KeyValuePair<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >, WTF::IntHash<int>, WTF::HashMap<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> >, WTF::IntHash<int>, WTF::UnsignedWithZeroKeyHashTraits<int>, WTF::HashTraits<WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >::KeyValuePairTraits, WTF::UnsignedWithZeroKeyHashTraits<int> >::HashTable() 2 0x116684de5 WTF::HashMap<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> >, WTF::IntHash<int>, WTF::UnsignedWithZeroKeyHashTraits<int>, WTF::HashTraits<WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >::HashMap() 3 0x116684dc5 WTF::HashMap<int, WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> >, WTF::IntHash<int>, WTF::UnsignedWithZeroKeyHashTraits<int>, WTF::HashTraits<WTF::RefPtr<JSC::WatchpointSet, WTF::DumbPtrTraits<JSC::WatchpointSet> > > >::HashMap() 4 0x1166754f2 JSC::Structure::ensurePropertyReplacementWatchpointSet(JSC::VM&, int) 5 0x1156e0cb3 JSC::Structure::startWatchingPropertyForReplacements(JSC::VM&, int) 6 0x11624959d JSC::tryCacheGetByID(JSC::ExecState*, JSC::JSValue, JSC::Identifier const&, JSC::PropertySlot const&, JSC::StructureStubInfo&, JSC::GetByIDKind) 7 0x116247627 JSC::repatchGetByID(JSC::ExecState*, JSC::JSValue, JSC::Identifier const&, JSC::PropertySlot const&, JSC::StructureStubInfo&, JSC::GetByIDKind) 8 0x116226f97 operationGetByIdOptimize::$_1::operator()(bool, JSC::PropertySlot&) const
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug