[Webkit-unassigned] [Bug 186734] New: FunctionCodeBlock wastes 144KB of HashTable capacity on cnn.com

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Jun 16 12:29:06 PDT 2018


https://bugs.webkit.org/show_bug.cgi?id=186734

            Bug ID: 186734
           Summary: FunctionCodeBlock wastes 144KB of HashTable capacity
                    on cnn.com
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: simon.fraser at apple.com

Using tooling from bug 186698, loading can and running "notifyutil -p com.apple.WebKit.dumpHashTableCapacity" shows:

Wasted capacity: 143952 bytes (used 37488 of 181440 bytes, utilization: 20.66%) - 4780 allocations
1   0x115776625 WTF::HashTable<std::__1::tuple<JSC::Structure*, JSC::Instruction*>, WTF::KeyValuePair<std::__1::tuple<JSC::Structure*, JSC::Instruction*>, WTF::Bag<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint, WTF::DumbPtrTraits<WTF::Private::BagNode<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint> > > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<std::__1::tuple<JSC::Structure*, JSC::Instruction*>, WTF::Bag<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint, WTF::DumbPtrTraits<WTF::Private::BagNode<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint> > > > >, WTF::TupleHash<JSC::Structure*, JSC::Instruction*>, WTF::HashMap<std::__1::tuple<JSC::Structure*, JSC::Instruction*>, WTF::Bag<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint, WTF::DumbPtrTraits<WTF::Private::BagNode<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint> > >, WTF::TupleHash<JSC::Structure*, JSC::Instruction*>, WTF::HashTraits<std::__1::tuple<JSC::Structure*, JSC::Instruction*> >, WTF::HashTraits<WTF::Bag<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint, WTF::DumbPtrTraits<WTF::Private::BagNode<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint> > > > >::KeyValuePairTraits, WTF::HashTraits<std::__1::tuple<JSC::Structure*, JSC::Instruction*> > >::HashTable()
2   0x115776605 WTF::HashMap<std::__1::tuple<JSC::Structure*, JSC::Instruction*>, WTF::Bag<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint, WTF::DumbPtrTraits<WTF::Private::BagNode<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint> > >, WTF::TupleHash<JSC::Structure*, JSC::Instruction*>, WTF::HashTraits<std::__1::tuple<JSC::Structure*, JSC::Instruction*> >, WTF::HashTraits<WTF::Bag<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint, WTF::DumbPtrTraits<WTF::Private::BagNode<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint> > > > >::HashMap()
3   0x11574ef25 WTF::HashMap<std::__1::tuple<JSC::Structure*, JSC::Instruction*>, WTF::Bag<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint, WTF::DumbPtrTraits<WTF::Private::BagNode<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint> > >, WTF::TupleHash<JSC::Structure*, JSC::Instruction*>, WTF::HashTraits<std::__1::tuple<JSC::Structure*, JSC::Instruction*> >, WTF::HashTraits<WTF::Bag<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint, WTF::DumbPtrTraits<WTF::Private::BagNode<JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint> > > > >::HashMap()
4   0x1157504a5 JSC::CodeBlock::CodeBlock(JSC::VM*, JSC::Structure*, JSC::ScriptExecutable*, JSC::UnlinkedCodeBlock*, JSC::JSScope*, WTF::RefPtr<JSC::SourceProvider, WTF::DumbPtrTraits<JSC::SourceProvider> >&&, unsigned int, unsigned int)
5   0x11666020b JSC::FunctionCodeBlock::FunctionCodeBlock(JSC::VM*, JSC::Structure*, JSC::FunctionExecutable*, JSC::UnlinkedFunctionCodeBlock*, JSC::JSScope*, WTF::RefPtr<JSC::SourceProvider, WTF::DumbPtrTraits<JSC::SourceProvider> >&&, unsigned int, unsigned int)
6   0x11665ffa2 JSC::FunctionCodeBlock::FunctionCodeBlock(JSC::VM*, JSC::Structure*, JSC::FunctionExecutable*, JSC::UnlinkedFunctionCodeBlock*, JSC::JSScope*, WTF::RefPtr<JSC::SourceProvider, WTF::DumbPtrTraits<JSC::SourceProvider> >&&, unsigned int, unsigned int)
7   0x116659b2e JSC::FunctionCodeBlock::create(JSC::VM*, JSC::FunctionExecutable*, JSC::UnlinkedFunctionCodeBlock*, JSC::JSScope*, WTF::RefPtr<JSC::SourceProvider, WTF::DumbPtrTraits<JSC::SourceProvider> >&&, unsigned int, unsigned int)
8   0x11665967b JSC::ScriptExecutable::newCodeBlockFor(JSC::CodeSpecializationKind, JSC::JSFunction*, JSC::JSScope*, JSC::JSObject*&)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180616/133e3d2b/attachment-0001.html>


More information about the webkit-unassigned mailing list