[JSC] Record CoW status in ArrayProfile
Created attachment 345647 [details] Patch
Created attachment 345648 [details] Patch
Comment on attachment 345648 [details] Patch Attachment 345648 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/8636661 New failing tests: js/dom/dfg-ensure-non-array-array-storage-on-window.html
Created attachment 345658 [details] Archive of layout-test-results from ews113 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-sierra Platform: Mac OS X 10.12.6
Comment on attachment 345648 [details] Patch Attachment 345648 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/8637169 New failing tests: http/tests/security/canvas-remote-read-remote-video-blocked-no-crossorigin.html http/tests/security/canvas-remote-read-remote-video-redirect.html
Created attachment 345662 [details] Archive of layout-test-results from ews200 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews200 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Created attachment 345664 [details] Patch
Comment on attachment 345664 [details] Patch Attachment 345664 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/8637811 New failing tests: js/dom/dfg-ensure-non-array-array-storage-on-window.html
Created attachment 345672 [details] Archive of layout-test-results from ews112 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-sierra Platform: Mac OS X 10.12.6
Comment on attachment 345664 [details] Patch Investigating.
Created attachment 345678 [details] Patch
Comment on attachment 345678 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=345678&action=review r=me > Source/JavaScriptCore/bytecode/ArrayProfile.h:274 > + ArrayModes m_observedArrayModes { 0 }; > + unsigned m_observedIndexingModes { 0 }; I think this class would be smaller if you moved these two fields to behind StructureID
Comment on attachment 345678 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=345678&action=review Thanks! >> Source/JavaScriptCore/bytecode/ArrayProfile.h:274 >> + unsigned m_observedIndexingModes { 0 }; > > I think this class would be smaller if you moved these two fields to behind StructureID Fixed.
Committed r234183: <https://trac.webkit.org/changeset/234183>
<rdar://problem/42564046>
Re-opened since this is blocked by bug 187983
While Tools/Scripts/run-jsc-benchmark does not show this regression, sunspider benchmark driver in AWFY reproduces this regression. Investigating it.
It seems that Kraken desaturate's array profiles see CoW array at least once, but later, it is seeing non-CoW arrays. In this situation, specializing for non-CoW array is more profitable. Anyway, I would like to reduce the scope of this patch first. I'll upload the patch that includes indexing type fixing.
Created attachment 345751 [details] Patch
Ping?
Comment on attachment 345751 [details] Patch Thanks!
Committed r234331: <https://trac.webkit.org/changeset/234331>
It fixed Kraken/crypto-ccm regression a bit.