Bug 235112

Summary: AssemblyHelpersSpoolers: use load/store pair on ARMv7
Product: WebKit Reporter: Angelos Oikonomopoulos <angelos>
Component: New BugsAssignee: Angelos Oikonomopoulos <angelos>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, glore, keith_miller, mark.lam, msaboff, saam, tzagallo, webkit-bug-importer, zan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Angelos Oikonomopoulos
Reported 2022-01-12 06:19:44 PST
AssemblyHelpersSpoolers: use load/store pair on ARMv7
Attachments
Patch (15.77 KB, patch)
2022-01-12 06:20 PST, Angelos Oikonomopoulos
no flags
Patch (10.26 KB, patch)
2022-01-13 04:31 PST, Angelos Oikonomopoulos
no flags
Patch (10.15 KB, patch)
2022-01-13 06:17 PST, Angelos Oikonomopoulos
no flags
Patch (9.25 KB, patch)
2022-01-17 03:05 PST, Angelos Oikonomopoulos
no flags
Patch (9.21 KB, patch)
2022-01-17 07:39 PST, Angelos Oikonomopoulos
no flags
Patch (9.73 KB, patch)
2022-03-07 04:28 PST, Angelos Oikonomopoulos
no flags
Angelos Oikonomopoulos
Comment 1 2022-01-12 06:20:14 PST
Angelos Oikonomopoulos
Comment 2 2022-01-13 04:31:47 PST
Angelos Oikonomopoulos
Comment 3 2022-01-13 06:17:36 PST
Angelos Oikonomopoulos
Comment 4 2022-01-17 03:05:08 PST
Geza Lore
Comment 5 2022-01-17 04:14:50 PST
Comment on attachment 449322 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=449322&action=review > Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:922 > + ASSERT(src1 != src2); This assertion is not necessary. Storing the same register twice is well defined, and works with storePair32.
Angelos Oikonomopoulos
Comment 6 2022-01-17 07:39:41 PST
Angelos Oikonomopoulos
Comment 7 2022-01-17 07:43:09 PST
(In reply to Geza Lore from comment #5) > Comment on attachment 449322 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=449322&action=review > > > Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:922 > > + ASSERT(src1 != src2); > > This assertion is not necessary. Storing the same register twice is well > defined, and works with storePair32. Ah. Removed, thanks!
Radar WebKit Bug Importer
Comment 8 2022-01-19 08:46:42 PST
Angelos Oikonomopoulos
Comment 9 2022-02-09 00:59:05 PST
Ping.
Zan Dobersek
Comment 10 2022-03-04 06:37:08 PST
Comment on attachment 449333 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=449333&action=review > Source/JavaScriptCore/jit/AssemblyHelpersSpoolers.h:284 > +#if !(CPU(ARM64) || CPU(ARM)) > + if constexpr (hasPairOp) > RELEASE_ASSERT_NOT_REACHED(); // unsupported architecture. > +#endif Honestly unguarded constexpr with additional `&& !isARM()` (if it existed) would be nicer.
Angelos Oikonomopoulos
Comment 11 2022-03-07 04:28:56 PST
Angelos Oikonomopoulos
Comment 12 2022-03-07 04:29:36 PST
(In reply to Zan Dobersek from comment #10) > Comment on attachment 449333 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=449333&action=review > > > Source/JavaScriptCore/jit/AssemblyHelpersSpoolers.h:284 > > +#if !(CPU(ARM64) || CPU(ARM)) > > + if constexpr (hasPairOp) > > RELEASE_ASSERT_NOT_REACHED(); // unsupported architecture. > > +#endif > > Honestly unguarded constexpr with additional `&& !isARM()` (if it existed) > would be nicer. Makes sense. Added and used.
EWS
Comment 13 2022-03-07 13:56:19 PST
Committed r290907 (248137@main): <https://commits.webkit.org/248137@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 453963 [details].
Note You need to log in before you can comment on or make changes to this bug.