Comment on attachment 346147[details]
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=346147&action=review> Source/WebCore/ChangeLog:3
> + ResourceResponseBase wastes a lot of space because of std::optional<>
This looks good, but I think Simon's intention was more general than just removing one optional member. So I would attach this patch to a separate bug (maybe a dependency or see also one) so that we keep this bug open.
(In reply to Fujii Hironori from comment #5)
> https://github.com/akrzemi1/markable
> 'markable' is a single header optional-like template library with no space
> overhead.
Yeah but it just uses magic values.
Created attachment 372681[details]
Archive of layout-test-results from ews101 for mac-highsierra
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 372682[details]
Archive of layout-test-results from ews104 for mac-highsierra-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
Created attachment 372683[details]
Archive of layout-test-results from ews112 for mac-highsierra
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews112 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 372702[details]
Archive of layout-test-results from ews103 for mac-highsierra
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 372703[details]
Archive of layout-test-results from ews106 for mac-highsierra-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
Created attachment 372704[details]
Archive of layout-test-results from ews115 for mac-highsierra
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews115 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 372706[details]
Archive of layout-test-results from ews210 for win-future
The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: ews210 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Created attachment 372707[details]
Archive of layout-test-results from ews125 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.14.5
Created attachment 372712[details]
Archive of layout-test-results from ews103 for mac-highsierra
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 372713[details]
Archive of layout-test-results from ews107 for mac-highsierra-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
Created attachment 372716[details]
Archive of layout-test-results from ews115 for mac-highsierra
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews115 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 372788[details]
Archive of layout-test-results from ews101 for mac-highsierra
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 372789[details]
Archive of layout-test-results from ews104 for mac-highsierra-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
Created attachment 372799[details]
Archive of layout-test-results from ews112 for mac-highsierra
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews112 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 372802[details]
Archive of layout-test-results from ews126 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.14.5
Created attachment 373175[details]
Archive of layout-test-results from ews104 for mac-highsierra-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104 Port: mac-highsierra-wk2 Platform: Mac OS X 10.13.6
Patches seems absolutely in the wrong direction we want in this project in my opinion. In my opinion the project wants to use enum classes (not enum) and in my opinion we don't want enumerators like SourceNetwork <--concatenating the concept and value. In my opinion I would figure out a way to save the space without undoing everything. Failing this I would demand that I have a damn good reason 😀 for all this terribleness, stats or something concrete and all.
Comment on attachment 373194[details]
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=373194&action=review> Source/WebCore/platform/network/ResourceResponseBase.h:234
> +protected:
> + int m_httpStatusCode { 0 };
> +
> +private:
> + mutable bool m_includesCertificateInfo : 1;
This is a really shitty way of packing stuff.
Move m_httpStatusCode past all these boolean bitfields, and they would pack a lot better.
Comment on attachment 373194[details]
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=373194&action=review> Source/WebCore/platform/network/ResourceResponseBase.h:70
> + unsigned type : 3;
> + unsigned tainting : 2;
> bool isRedirected;
Type and Training are each one byte if we use uint8_t width so making them bitfields isn't gonna save anything.
We're better off moving httpStatusCode down here so that it's better packed with these enum classes & bool.
> Source/WebCore/platform/network/ResourceResponseBase.h:248
> + unsigned m_source : 3;
> + unsigned m_type : 3;
> + unsigned m_tainting : 2;
Again, we should just use enum class with uint8_t width.
There are 3 uint8_t enum class types here (3 bytes) then if you move m_httpStatusCode here,
that would neatly pack into one word (8 bytes) in 64-bit.
(In reply to Daniel Bates from comment #49)
> Patches seems absolutely in the wrong direction we want in this project in
> my opinion. In my opinion the project wants to use enum classes (not enum)
> and in my opinion we don't want enumerators like SourceNetwork
> <--concatenating the concept and value.
Yeah, it's not like we can't cast unsigned to enum class either. Packing objects better matter in many cases but here, we don't need to resort to bitfields at all since three uint8_t + one uint32_t would pack neatly into a single uint64_t space.
2018-07-31 02:12 PDT, Rob Buis
2019-06-22 08:47 PDT, Rob Buis
2019-06-22 10:03 PDT, EWS Watchlist
2019-06-22 10:12 PDT, EWS Watchlist
2019-06-22 10:42 PDT, EWS Watchlist
2019-06-22 10:52 PDT, Rob Buis
2019-06-23 07:54 PDT, Rob Buis
2019-06-23 09:09 PDT, EWS Watchlist
2019-06-23 09:18 PDT, EWS Watchlist
2019-06-23 09:49 PDT, EWS Watchlist
2019-06-23 09:59 PDT, EWS Watchlist
2019-06-23 10:01 PDT, EWS Watchlist
2019-06-23 13:41 PDT, Rob Buis
2019-06-23 14:55 PDT, EWS Watchlist
2019-06-23 15:04 PDT, EWS Watchlist
2019-06-23 15:35 PDT, EWS Watchlist
2019-06-24 01:38 PDT, Rob Buis
2019-06-24 12:12 PDT, Rob Buis
2019-06-24 13:10 PDT, EWS Watchlist
2019-06-24 13:18 PDT, EWS Watchlist
2019-06-24 14:07 PDT, EWS Watchlist
2019-06-24 14:17 PDT, EWS Watchlist
2019-06-29 11:39 PDT, Rob Buis
2019-06-29 13:01 PDT, EWS Watchlist
2019-06-29 13:36 PDT, Rob Buis
2019-06-30 11:51 PDT, Rob Buis