[Webkit-unassigned] [Bug 186470] New: SubresourceLoader::willSendRequestInternal() creates some WTF::Functions which are over 700 bytes big
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Jun 9 22:41:33 PDT 2018
https://bugs.webkit.org/show_bug.cgi?id=186470
Bug ID: 186470
Summary: SubresourceLoader::willSendRequestInternal() creates
some WTF::Functions which are over 700 bytes big
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Page Loading
Assignee: webkit-unassigned at lists.webkit.org
Reporter: simon.fraser at apple.com
CC: beidson at apple.com
In this call stack:
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 8.1
* frame #0: 0x0000000114d8cc5c JavaScriptCore`WTF::fastMalloc(size=728) at FastMalloc.cpp:272
frame #1: 0x0000000106323845 WebCore`WTF::Function<void (WebCore::ResourceRequest&&)>::CallableWrapperBase::operator new(size=728) at Function.h:83
frame #2: 0x0000000107cc14b6 WebCore`WTF::Function<void (WebCore::ResourceRequest&&)>::Function<WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&), void>(WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&)&&) [inlined] std::__1::__unique_if<WTF::Function<void (WebCore::ResourceRequest&&)>::CallableWrapper<WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&)> >::__unique_single std::__1::make_unique<WTF::Function<void (__args=0x00007ffeefbf5e18)>::CallableWrapper<WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&)>, WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&)>(WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&)&&) at memory:3032
frame #3: 0x0000000107cc14b1 WebCore`WTF::Function<void (WebCore::ResourceRequest&&)>::Function<WebCore::SubresourceLoader::willSendRequestInternal(this=0x00007ffeefbf5df8, callable=0x00007ffeefbf5e18)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&), void>(WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&)&&) at Function.h:43
frame #4: 0x0000000107cc145d WebCore`WTF::Function<void (WebCore::ResourceRequest&&)>::Function<WebCore::SubresourceLoader::willSendRequestInternal(this=0x00007ffeefbf5df8, callable=0x00007ffeefbf5e18)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&), void>(WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&)&&) at Function.h:44
frame #5: 0x0000000107cc1410 WebCore`WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>::CompletionHandler<WebCore::SubresourceLoader::willSendRequestInternal(this=0x00007ffeefbf5df8, callable=0x00007ffeefbf5e18)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&), void>(WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&)&&) at CompletionHandler.h:42
frame #6: 0x0000000107cc13ad WebCore`WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>::CompletionHandler<WebCore::SubresourceLoader::willSendRequestInternal(this=0x00007ffeefbf5df8, callable=0x00007ffeefbf5e18)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&), void>(WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&)::'lambda'(WebCore::ResourceRequest&&)&&) at CompletionHandler.h:43
frame #7: 0x0000000107cb84f0 WebCore`WebCore::SubresourceLoader::willSendRequestInternal(this=0x00007ffeefbf6b40, completionHandler=0x00007ffeefbf6e88, newRequest=0x00007ffeefbf7580)>&&)::$_0::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&) at SubresourceLoader.cpp:193
frame #8: 0x0000000107cb7a2b WebCore`WebCore::SubresourceLoader::willSendRequestInternal(this=0x0000000161001000, newRequest=0x00007ffeefbf7580, redirectResponse=0x00007ffeefbf6eb0, completionHandler=0x00007ffeefbf6e88)>&&) at SubresourceLoader.cpp:272
the WTF::Function<void (WebCore::ResourceRequest&&)>::CallableWrapperBase is 728 bytes big. This seems really large for a WTF::Function.
I think it's because it's capturing a ResourceResponse (696 bytes) by value. Is this intentional, or can it pass it by reference?
--
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/20180610/e8457a48/attachment-0001.html>
More information about the webkit-unassigned
mailing list