Bug 251483

Summary: FetchOptions: clientIdentifier and resultingClientIdentifier should use Markable<>
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Page LoadingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: achristensen, beidson, simon.fraser
Priority: P2    
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=251481
https://bugs.webkit.org/show_bug.cgi?id=251485

Description Simon Fraser (smfr) 2023-01-31 22:08:26 PST
These two std::optional<ScriptExecutionContextIdentifier> waste 15 bytes each in every CachedResource and subclass:

 +48 < 48>                 std::__1::optional<WebCore::ProcessQualified<WTF::UUID> > clientIdentifier
 +48 < 48>                     std::__1::__optional_move_assign_base<WebCore::ProcessQualified<WTF::UUID>, true> std::__1::__optional_move_assign_base<WebCore::ProcessQualified<WTF::UUID>, true>
 +48 < 48>                         std::__1::__optional_copy_assign_base<WebCore::ProcessQualified<WTF::UUID>, true> std::__1::__optional_copy_assign_base<WebCore::ProcessQualified<WTF::UUID>, true>
 +48 < 48>                             std::__1::__optional_move_base<WebCore::ProcessQualified<WTF::UUID>, true> std::__1::__optional_move_base<WebCore::ProcessQualified<WTF::UUID>, true>
 +48 < 48>                                 std::__1::__optional_copy_base<WebCore::ProcessQualified<WTF::UUID>, true> std::__1::__optional_copy_base<WebCore::ProcessQualified<WTF::UUID>, true>
 +48 < 48>                                     std::__1::__optional_storage_base<WebCore::ProcessQualified<WTF::UUID>, false> std::__1::__optional_storage_base<WebCore::ProcessQualified<WTF::UUID>, false>
 +48 < 48>                                         std::__1::__optional_destruct_base<WebCore::ProcessQualified<WTF::UUID>, true> std::__1::__optional_destruct_base<WebCore::ProcessQualified<WTF::UUID>, true>
 +48 < 32>                                           std::__1::__optional_destruct_base<WebCore::ProcessQualified<WTF::UUID>, true>::(anonymous union) None
 +80 <  1>                                           bool __engaged_
 +48 <  1>                     std::__1::__optional_sfinae_ctor_base_t<WebCore::ProcessQualified<WTF::UUID> > std::__1::__optional_sfinae_ctor_base_t<WebCore::ProcessQualified<WTF::UUID> >
 +48 <  1>                     std::__1::__optional_sfinae_assign_base_t<WebCore::ProcessQualified<WTF::UUID> > std::__1::__optional_sfinae_assign_base_t<WebCore::ProcessQualified<WTF::UUID> >
 +81 < 15>               <PADDING: 15 bytes>
 +96 < 48>                 std::__1::optional<WebCore::ProcessQualified<WTF::UUID> > resultingClientIdentifier
 +96 < 48>                     std::__1::__optional_move_assign_base<WebCore::ProcessQualified<WTF::UUID>, true> std::__1::__optional_move_assign_base<WebCore::ProcessQualified<WTF::UUID>, true>
 +96 < 48>                         std::__1::__optional_copy_assign_base<WebCore::ProcessQualified<WTF::UUID>, true> std::__1::__optional_copy_assign_base<WebCore::ProcessQualified<WTF::UUID>, true>
 +96 < 48>                             std::__1::__optional_move_base<WebCore::ProcessQualified<WTF::UUID>, true> std::__1::__optional_move_base<WebCore::ProcessQualified<WTF::UUID>, true>
 +96 < 48>                                 std::__1::__optional_copy_base<WebCore::ProcessQualified<WTF::UUID>, true> std::__1::__optional_copy_base<WebCore::ProcessQualified<WTF::UUID>, true>
 +96 < 48>                                     std::__1::__optional_storage_base<WebCore::ProcessQualified<WTF::UUID>, false> std::__1::__optional_storage_base<WebCore::ProcessQualified<WTF::UUID>, false>
 +96 < 48>                                         std::__1::__optional_destruct_base<WebCore::ProcessQualified<WTF::UUID>, true> std::__1::__optional_destruct_base<WebCore::ProcessQualified<WTF::UUID>, true>
 +96 < 32>                                           std::__1::__optional_destruct_base<WebCore::ProcessQualified<WTF::UUID>, true>::(anonymous union) None
+128 <  1>                                           bool __engaged_
 +96 <  1>                     std::__1::__optional_sfinae_ctor_base_t<WebCore::ProcessQualified<WTF::UUID> > std::__1::__optional_sfinae_ctor_base_t<WebCore::ProcessQualified<WTF::UUID> >
 +96 <  1>                     std::__1::__optional_sfinae_assign_base_t<WebCore::ProcessQualified<WTF::UUID> > std::__1::__optional_sfinae_assign_base_t<WebCore::ProcessQualified<WTF::UUID> >
+129 < 15>           <PADDING: 15 bytes>
Comment 1 Alex Christensen 2023-02-06 11:27:57 PST

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