Summary: | DOMMatrixReadOnly and WebKitCSSMatrix should have padding to make TransformationMatrix 16byte aligned | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Yusuke Suzuki <ysuzuki> | ||||||||||||||
Component: | DOM | Assignee: | Yusuke Suzuki <ysuzuki> | ||||||||||||||
Status: | NEW --- | ||||||||||||||||
Severity: | Normal | CC: | ahmad.saleem792, ap, bfulgham, cdumez, ews-watchlist, rniwa | ||||||||||||||
Priority: | P2 | ||||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||
OS: | Unspecified | ||||||||||||||||
Bug Depends on: | |||||||||||||||||
Bug Blocks: | 196837 | ||||||||||||||||
Attachments: |
|
Description
Yusuke Suzuki
2019-04-15 23:37:56 PDT
Related to IsoHeap. Created attachment 367505 [details]
Patch
Created attachment 367506 [details]
Patch
Comment on attachment 367506 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=367506&action=review > Source/WebCore/css/DOMMatrixReadOnly.h:152 > + std::aligned_storage<sizeof(TransformationMatrix), 8>::type m_storage; aligned_storage just adds alignment information, not adding appropriate padding. So we need to have a padding manually. https://en.cppreference.com/w/cpp/types/aligned_storage Typical aligned_storage implementation. ``` template<std::size_t Len, std::size_t Align /* default alignment not implemented */> struct aligned_storage { struct type { alignas(Align) unsigned char data[Len]; }; }; ``` Let's extract this storage part as PaddedAlignedStorage. Created attachment 367512 [details]
Patch
Created attachment 367513 [details]
Patch
The patch becomes not so much related to bmalloc. Remove bmalloc keyword. Created attachment 367514 [details]
Patch
Comment on attachment 367514 [details]
Patch
Still considering
Comment on attachment 367514 [details] Patch Attachment 367514 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/11885059 New failing tests: js/dom/custom-constructors.html Created attachment 367532 [details]
Archive of layout-test-results from ews202 for win-future
The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: ews202 Port: win-future Platform: CYGWIN_NT-6.1-2.10.0-0.325-5-3-x86_64-64bit
This patch was adding new WTF - PaddedAlignedStorage.h Also modifying this, which is not modified: https://github.com/WebKit/WebKit/blob/64f843f962fd4b62b95fb3c3c53127b6f526fbcd/Source/WTF/wtf/StdLibExtras.h#L89 https://github.com/WebKit/WebKit/blob/64f843f962fd4b62b95fb3c3c53127b6f526fbcd/Source/WTF/wtf/StdLibExtras.h#L107 In DOMMatrix.cpp, it is still referring old (some examples below): https://github.com/WebKit/WebKit/blob/edb309e77f7aa09b0799c4508214dbbf75ae0117/Source/WebCore/css/DOMMatrix.cpp#L142 https://github.com/WebKit/WebKit/blob/edb309e77f7aa09b0799c4508214dbbf75ae0117/Source/WebCore/css/DOMMatrix.cpp#L129 https://github.com/WebKit/WebKit/blob/edb309e77f7aa09b0799c4508214dbbf75ae0117/Source/WebCore/css/DOMMatrix.cpp#L151 _________ rniwa@webkit.org - These above are just few examples, is this needed anymore? Thanks! |