RESOLVED FIXED 193957
mul32 should convert powers of 2 to an lshift
https://bugs.webkit.org/show_bug.cgi?id=193957
Summary mul32 should convert powers of 2 to an lshift
Keith Miller
Reported 2019-01-28 22:51:07 PST
mul32 should convert powers of 2 to an lshift
Attachments
Patch (1.51 KB, patch)
2019-01-28 22:52 PST, Keith Miller
no flags
Archive of layout-test-results from ews102 for mac-highsierra (539.41 KB, application/zip)
2019-01-28 23:46 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews106 for mac-highsierra-wk2 (501.28 KB, application/zip)
2019-01-28 23:55 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews117 for mac-highsierra (413.55 KB, application/zip)
2019-01-29 00:01 PST, EWS Watchlist
no flags
Patch for landing (1.51 KB, patch)
2019-01-29 00:02 PST, Keith Miller
no flags
Patch for landing (3.30 KB, patch)
2019-01-30 13:49 PST, Keith Miller
no flags
Patch for landing (3.30 KB, patch)
2019-01-30 13:49 PST, Keith Miller
no flags
Patch for landing (3.44 KB, patch)
2019-01-30 14:00 PST, Keith Miller
no flags
Keith Miller
Comment 1 2019-01-28 22:52:14 PST
Yusuke Suzuki
Comment 2 2019-01-28 22:59:22 PST
Comment on attachment 360441 [details] Patch r=me
Mark Lam
Comment 3 2019-01-28 23:00:15 PST
Comment on attachment 360441 [details] Patch Please add a test to verify that the operation is computing the right values. testmasm is probably where you can do this easily.
EWS Watchlist
Comment 4 2019-01-28 23:46:47 PST
Comment on attachment 360441 [details] Patch Attachment 360441 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/10934952 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 5 2019-01-28 23:46:48 PST
Created attachment 360446 [details] Archive of layout-test-results from ews102 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-highsierra Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 6 2019-01-28 23:55:50 PST
Comment on attachment 360441 [details] Patch Attachment 360441 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/10934977 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 7 2019-01-28 23:55:52 PST
Created attachment 360447 [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
Keith Miller
Comment 8 2019-01-29 00:00:36 PST
(In reply to Mark Lam from comment #3) > Comment on attachment 360441 [details] > Patch > > Please add a test to verify that the operation is computing the right > values. testmasm is probably where you can do this easily. Does the fact that I was off by 1 and every JIT test failed count? :P
EWS Watchlist
Comment 9 2019-01-29 00:01:46 PST
Comment on attachment 360441 [details] Patch Attachment 360441 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/10934948 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 10 2019-01-29 00:01:50 PST
Created attachment 360448 [details] Archive of layout-test-results from ews117 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-highsierra Platform: Mac OS X 10.13.6
Keith Miller
Comment 11 2019-01-29 00:02:36 PST
Created attachment 360449 [details] Patch for landing
Mark Lam
Comment 12 2019-01-29 00:06:21 PST
Comment on attachment 360449 [details] Patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=360449&action=review > Source/JavaScriptCore/assembler/MacroAssembler.h:1910 > + lshift32(src, TrustedImm32(getLSBSet(imm.m_value)), dest); I see that you've fixed the issue with getLSBSet(imm.m_value). You should also check if imm.m_value == 1, and if so, move(src, dest) instead. Again, please add some mul32 tests to testmasm.
Mark Lam
Comment 13 2019-01-29 00:13:21 PST
(In reply to Keith Miller from comment #8) > (In reply to Mark Lam from comment #3) > > Comment on attachment 360441 [details] > > Patch > > > > Please add a test to verify that the operation is computing the right > > values. testmasm is probably where you can do this easily. > > Does the fact that I was off by 1 and every JIT test failed count? :P I suppose. However, for masm changes like this, I still think it's good practice to have the specific edge cases for mul32 in testmasm to point out where we go wrong. This is better than having to debug what went wrong in a test that exercises a lot more code.
Keith Miller
Comment 14 2019-01-30 13:49:23 PST
Created attachment 360613 [details] Patch for landing
Keith Miller
Comment 15 2019-01-30 13:49:35 PST
Created attachment 360614 [details] Patch for landing
Mark Lam
Comment 16 2019-01-30 13:53:32 PST
Comment on attachment 360614 [details] Patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=360614&action=review > Source/JavaScriptCore/ChangeLog:9 > + * assembler/MacroAssembler.h: > + (JSC::MacroAssembler::mul32): Your ChangeLog didn't include assembler/testmasm.cpp.
Mark Lam
Comment 17 2019-01-30 13:54:06 PST
Comment on attachment 360614 [details] Patch for landing Cancelling commit for now.
Keith Miller
Comment 18 2019-01-30 14:00:11 PST
Created attachment 360617 [details] Patch for landing
WebKit Commit Bot
Comment 19 2019-01-30 14:42:17 PST
Comment on attachment 360617 [details] Patch for landing Clearing flags on attachment: 360617 Committed r240731: <https://trac.webkit.org/changeset/240731>
WebKit Commit Bot
Comment 20 2019-01-30 14:42:19 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 21 2019-01-30 14:43:31 PST
Note You need to log in before you can comment on or make changes to this bug.